我希望循环使用相同级别的每个用户。
如何使用以下数组执行此操作,以便我可以通过执行array[rankId].forEach
来循环查看具有相同等级的所有人。
数组(对象)
var array = [
{
user: '1xJs8A',
rank: 1
},
{
user: '1xJs8B',
rank: 1
},
{
user: '1xJs8C',
rank: 2
},
];
编辑:我希望能够遍历排名,所以我需要某种数组,如下所示,
rankId:[
{ .. user data .. ]
]
答案 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>