請參閱編輯結束處的實際問題。按排序對象排序的布爾屬性
好吧,我有這樣的場景:
a = [false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
然後,如果我這樣做:
a.sort(function(a,b){return !a && b});
它給了我這樣的:
[false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
它八九不離十做一個排序...但不完全... :(
如何對此數組進行排序?
編輯:
如果你想知道爲什麼我不只是a.sort(使用),是因爲我的實際數組的對象,而不是一個普通數組像我貼。真正的一個人,看起來像元素[{XX:真正},{XX:假},...]
如果我做a.map(函數(X){返回X 1:0})排序(函數(一, b){return a> b});也不管用......我想我可能會做一些基本的錯誤 – PCoelho
爲什麼你需要編寫自定義函數? a.sort()應該可以工作 –