javascript - 计算和存储对象数组中的不同元素及其计数

标签 javascript arrays node.js

我有一个对象数组,我想计算不同元素的数量以及这些对象的数量。

[ { name: 'Suman',
    game: '5A'
  },
  { name: 'Suman',
    game: '5A'
  },
  { name: 'Namus',
    game: '5A'
  },
  { name: 'Namus',
    game: '5A'
  }
]

我想计算不同名称的数量并将它们存储在一个对象中。我已经尝试过 1# 将所有名称插入数组中, 2#然后对它们进行排序, 3# 然后计算不同名称的数量和 4#最后将它们推向物体。 这个过程太漫长了。有没有更短的方法来做到这一点。我正在使用 Nodejs

提前致谢

最佳答案

您将创建一个新对象,其中键是名称,值是计数:

var youArr = [ 
  { name: 'Suman',
    game: '5A'
  },
  { name: 'Suman',
    game: '5A'
  },
  { name: 'Namus',
    game: '5A'
  },
  { name: 'Namus',
    game: '5A'
  }
];

var count = {}
for(var i=0; i < youArr.length; i++){
    count[youArr[i].name] = count[youArr[i].name] || 0;
    count[youArr[i].name]++;
}

alert(count['Namus']); // 2

关于javascript - 计算和存储对象数组中的不同元素及其计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26285061/

相关文章:

node.js - 如何使用Nodejs Express获取发送请求的客户端的公共(public)IP地址?

javascript - 如何在一个div中平均显示多个图像

javascript - 具有多个参数的 indexOf

javascript - 主进程和渲染进程之间的通信

node.js - 如何防止 node-gyp 从 Internet 下载 node-headers.tar.gz 和 node.lib?

javascript - 获取给定概率的伪随机项

javascript - 切换打开时向下滚动窗口

javascript - 如何拦截非 JSON 的响应

php - 将 Javascript 数组制作成 JSON

在 C 中将一个 int 转换为一个 4 字节的 char 数组