Joh*_*ohs 5 javascript arrays sorting safari google-chrome
[
{"tag":"fujairah","count":1},
{"tag":"worldwide","count":3},
{"tag":"saudi","count":1},
{"tag":"miami","count":1},
{"tag":"rwo-dealer","count":7},
{"tag":"new york","count":2},
{"tag":"surabaya","count":1},
{"tag":"phillippines","count":1},
{"tag":"vietnam","count":1},
{"tag":"norway","count":1},
{"tag":"x","count":1}
].sort(function(a,b){return a.tag>b.tag})
Run Code Online (Sandbox Code Playgroud)
对10个对象的数组进行排序工作正常,一旦对象数超过10,Chrome for Mac中的排序就会失败.Safari在任何阵列大小都失败.(在Firefox中正常工作)
通过javascript排序对象数组的正确方法是什么?
物品数量并不重要,这可能只是您的情况。只是这不是实现排序功能的正确方法。您应该返回 1(或任何正值,如果第一项“大于”第二项)、-1(或任何负值)或 0(如果两项相等)。尝试这样的事情:
.sort(function(a, b) {
return a.tag > b.tag ? 1 : (a.tag < b.tag ? -1 : 0);
});
Run Code Online (Sandbox Code Playgroud)
最后一个三元运算符周围的括号实际上不是必需的。
| 归档时间: |
|
| 查看次数: |
1141 次 |
| 最近记录: |