gpt4 book ai didi

javascript - 如何使用lodash计算对象数组中的多个属性值?

转载 作者:行者123 更新时间:2023-12-03 03:40:54 26 4
gpt4 key购买 nike

是否可以使用一个变量而不使用_.merge来计算namecity

const people = [
{ 'name': 'Adam', 'city': 'London', 'age': 34 },
{ 'name': 'Adam', 'age': 34 },
{ 'name': 'John', 'city': 'London','age': 23 },
{ 'name': 'Bob', 'city': 'Paris','age': 69 },
{ 'name': 'Mark', 'city': 'Berlin','age': 69 },

]
const names = _.countBy(people, (person) => person.name);
const cities = _.countBy(people, (person) => person.city);

console.log(_.merge(names,cities)); // Object {Adam: 2, Berlin: 1, Bob: 1, John: 1, London: 2, Mark: 1, Paris: 1, undefined: 1}

最佳答案

您不需要 Lodash,只需使用 Array#Reduce .

const people = [
{ 'name': 'Adam', 'city': 'London', 'age': 34 },
{ 'name': 'Adam', 'age': 34 },
{ 'name': 'John', 'city': 'London','age': 23 },
{ 'name': 'Bob', 'city': 'Paris','age': 69 },
{ 'name': 'Mark', 'city': 'Berlin','age': 69 },
]

const result = people.reduce((acc, curr) => {
acc[curr.name] = acc[curr.name] ? acc[curr.name] + 1 : 1;
acc[curr.city] = acc[curr.city] ? acc[curr.city] + 1 : 1;

return acc;
}, {});

console.log(result);

关于javascript - 如何使用lodash计算对象数组中的多个属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45630356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com