javascript - Underscore.js 查找对象数组中的唯一值;返回唯一项目及其数量

标签 javascript underscore.js unique

我正在使用 _underscore.js 查找数组中的所有唯一项,但我不知道如何获取返回的唯一项的数量。

_PERSONARRAY = [{name:"tom",age:7}{name:"john",age:9}{name:"becky",age:2}{name:"sam",age:7}]

_UNIQUEAGEARRAY = _.chain(_PERSONARRAY).map(function(person) { return person.age }).uniq().value();

在这种情况下,_UNIQUEAGEARRAY 将等于:

[7,9,2]

我实际需要返回的是这样的:

[{uniqueAge:7,numberOfPeople:2}{uniqueAge:9,numberOfPeople:1}{uniqueAge:2,numberOfPeople:1}]

感谢您的帮助。另外,我假设 _underscore.js 很快就能做到这一点?如果它很慢,请告诉我,因为我愿意接受其他解决方案。

最佳答案

一个不错的解决方案是使用可选的迭代器函数来下划线的 uniq 函数:

let people = [
  {name: "Alice", age: 21}, 
  {name: "Bob", age: 34},
  {name: "Caroline", age: 21}
];
_.uniq(people, person => person.age);

文档:http://underscorejs.org/#uniq

关于javascript - Underscore.js 查找对象数组中的唯一值;返回唯一项目及其数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261122/

相关文章:

javascript - 如何在没有输入字段的情况下在按键上运行 javascript?

javascript - Backbone.js 将其绑定(bind)到 setInterval

postgresql - 列默认函数无法创建唯一值

javascript - 如何让制表符空间在 CKEditor 中工作?

javascript - TinyMCE 剥离所有标记

javascript - 有没有办法在不使用 <script> 标签的情况下使用 javascript 代码?

javascript - 将属性添加到对象数组

javascript - 在 ASP.NET 中使用 Underscore.js

python - 仅从两个列表中获取唯一元素

python - 独特的值(value) python