【发布时间】:2016-04-29 23:52:48
【问题描述】:
我有对象数组。我想如果我在数组中添加对象,它应该以排序方式添加。我使用数组进行排序。但它没有对我的数组进行排序。这是我的代码
https://jsfiddle.net/8oczc5x5/
var arr = [{
elem: {
text: function() {
return "aa";
}
}
}, {
elem: {
text: function() {
return "yy";
}
}
}];
var obj = {
elem: {
text: function() {
return "bb";
}
}
}
arr.push(obj);
arr.sort()
console.log(arr[1].elem.text())
预期输出
"bb"
实际输出
"yy"
..为什么?我使用了排序它应该对我的数组进行排序?
【问题讨论】:
-
Javascript 无法对对象数组进行排序,因为默认情况下,对象集没有被排序。
-
如果您只尝试使用数字(1、2、3),它可以正常工作。
-
好的,我们如何对这个数组进行排序
-
您正试图通过在数组中对象的内部子级调用的函数的results 对数组进行排序?您将需要为 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 编写自定义排序函数
-
@Hamms,很好。语法是
arr.sort([fonctionComparaison])
标签: javascript jquery arrays sorting