Javascript通过一个布尔属性对对象数组进行排序

11 浏览
0 Comments

Javascript通过一个布尔属性对对象数组进行排序

请参考问题的最后编辑部分。

好的,我有这样的情况:

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, 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:true},{xx:false},...]

0