Javascript排序降序和循环

时间:2017-01-13 16:48:47

标签: javascript

我有这个数组。我不知道如何按用户数递减用户数组,然后循环此数组。这是在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。

如何按用户数递减用户数组? 我怎样才能在PHP中像foreach一样循环这个数组?谢谢。

1 个答案:

答案 0 :(得分:2)

对象属性没有任何顺序,而是按排序的数组顺序对属性名称数组和fetch元素进行排序。您可以使用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];
}));