按属性排序的 Javascript 对象数组不起作用
Javascript array of objects sort by property isn't working
我有一个 person 对象的数组,每个对象都有一个名称和一个 score 属性。我想按 person 对象的 score 属性对数组进行排序,然后显示数组。
我有一个显示排名的函数,我已经将排序代码添加到该函数的顶部,但它没有对数组进行排序,也没有抛出任何错误。任何想法出了什么问题?
javascript代码:
var rankings = [];
/* Player object constructor */
function Player(pname, score) {
this.pname = pname;
this.score = score;
}
/* function to add new players removed for clarity, it works */
/* sort and display the player objects by score */
function displayRankings () {
rankings.sort( function(a, b) {
return a[1] - b[1];
});
for (var i = 0; i < rankings.length; i++) {
var li = document.createElement("li");
var node = document.createTextNode(rankings[i].pname + ", " + rankings[i].score);
li.appendChild(node);
var element = document.getElementById("rankings");
element.appendChild(li);
}
}
假设rankings
是一个Person
对象的数组,那么你需要访问score
属性,而不是[1]
。
rankings.sort( function(a, b) {
return a.score - b.score;
});
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在Javascript中转换对象数组
- 在JavaScript中通过索引从对象数组中获取值
- Backbone虹吸以获取对象数组
- 如何在DataTables 2.1中迭代对象数组
- Javascript-根据赋值顺序,按键合并对象数组
- 将事件附加到对象/数组
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript在数组中获取对象数组中键的所有不同值
- 在对象数组中查找多个值的d3范围
- Undercore.js获取对象数组中键对象的值
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 如何通过json对象数组为嵌套对象赋值
- 如何循环通过2个对象数组并通过匹配id进行合并
- 为对象数组创建列表项
- 如何使用javascript合并两个对象数组
- JSON到对象数组,并向每个对象添加项
- JavaScript:从对象数组中获取唯一值及其计数
- 按不同项目对对象数组进行排序