这个简单:
list.sort(function(a, b){return a.priority < b.priority;});
其中列表项类似于 {priority: 2, foo: "bar"}
在两个主要浏览器上的行为不一样,我做错了什么?
最佳答案
您应该在 sort() 函数中返回一个数字而不是 bool 值:1、0 或 -1。这些数字表示比较元素应行进的方向(向上、停留或向下)。 bool 值不会为您提供这种控制,因此很可能取决于浏览器如何处理它(因此使其在浏览器之间有所不同)。
查看 Array.prototype.sort 上的文档.
假设升序排序:
list.sort(function(a, b){
return a.priority > b.priority ? 1
: a.priority < b.priority ? -1
: 0;
});
// yields priorities of: [-8,-7,-3,0,1,3,12,29,30,200,1992]
关于javascript - Chome Array.sort 和 FF 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20426085/