我正在使用 _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);
关于javascript - Underscore.js 查找对象数组中的唯一值;返回唯一项目及其数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261122/