首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按等级排序数组

按等级排序数组
EN

Stack Overflow用户
提问于 2018-04-19 21:49:03
回答 2查看 316关注 0票数 0

我想循环每一个在同一级别的用户。

我将如何使用下面的数组来实现这一点,这样我就可以通过执行array[rankId].forEach来读取它,循环遍历每个级别相同的人。

数组(对象)

代码语言:javascript
复制
var array = [
    {
    user: '1xJs8A',
    rank: 1
  },
  {
    user: '1xJs8B',
    rank: 1
    },
  {
    user: '1xJs8C',
    rank: 2
    },
];

编辑:我也希望能够遍历级别,所以我需要一些数组,如下所示,

代码语言:javascript
复制
rankId:[
 { .. user data .. ] 
]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-19 21:59:43

这里有一个简单的方法。注意for ... in ...for ... of ...的不同用法。

代码语言:javascript
复制
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);
  }
}

票数 0
EN

Stack Overflow用户

发布于 2018-04-19 21:54:43

代码语言:javascript
复制
<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>
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49930745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档