按行级排序数组

时间:2018-04-19 21:49:03

标签: javascript arrays node.js object

我希望循环使用相同级别的每个用户。

如何使用以下数组执行此操作,以便我可以通过执行array[rankId].forEach来循环查看具有相同等级的所有人。

数组(对象)

var array = [
    {
    user: '1xJs8A',
    rank: 1
  },
  {
    user: '1xJs8B',
    rank: 1
    },
  {
    user: '1xJs8C',
    rank: 2
    },
];

编辑:我希望能够遍历排名,所以我需要某种数组,如下所示,

rankId:[
 { .. user data .. ] 
]

2 个答案:

答案 0 :(得分:0)

这是一种简单的方法。请注意for ... in ...for ... of ...的不同用途。



var array = [{
    user: '1xJs8A',
    rank: 1
  },
  {
    user: '1xJs8B',
    rank: 1
  },
  {
    user: '1xJs8C',
    rank: 2
  }];

var usersByRank = [];
for (item of array) {
  usersByRank[item.rank] = usersByRank[item.rank] || [];
  usersByRank[item.rank].push(item);
}

for (rank in usersByRank) {
  console.log(usersByRank[rank].length +
    " users with rank " + rank);
    
  for (item of usersByRank[rank]) {
    console.log(" > user " + item.user);
  }
}




答案 1 :(得分:-2)

<script>
    window.onload=function(){
      var array = [
    {
    user: '1xJs8A',
    rank: 1
  },
  {
    user: '1xJs8B',
    rank: 1
    },
  {
    user: '1xJs8C',
    rank: 2
    },
];


for(var i=0; i<array.length;i++){
    if(array[i].rank==1){
        alert(array[i].user);
    }

}






        }

</script>