我有这个数组。我不知道如何按计数降序对用户数组进行排序,然后循环该数组。这是用 JavaScript 编写的。
users[23423423] = { count: 5, name: "Bla Bla" }
users[32432234] = { count: 15, name: "Etc Etc" }
users[87686786] = { count: 30, name: "Jason" }
users[54633683] = { count: 1, name: "Party" }
users[68345521] = { count: 23, name: "Another name" }
users[key]
- 键是 Facebook ID。
如何按计数降序对用户数组进行排序? 如何在 javascript 中循环这个数组,就像 php 中的 foreach 一样?谢谢。
最佳答案
对象属性没有任何顺序,而是对属性名称数组进行排序并按排序后的数组顺序获取元素。您可以在哪里使用 Array#sort
对属性名称数组进行排序的方法。
var users = {};
users[23423423] = {
count: 5,
name: "Bla Bla"
}
users[32432234] = {
count: 15,
name: "Etc Etc"
}
users[87686786] = {
count: 30,
name: "Jason"
}
users[54633683] = {
count: 1,
name: "Party"
}
users[68345521] = {
count: 23,
name: "Another name"
}
var keys = Object.keys(users).sort(function(j, k) {
return users[j].count - users[k].count;
})
console.log(keys);
console.log(keys.map(function(v) {
return users[v];
}));
关于Javascript降序排序和循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41639586/