gpt4 book ai didi

javascript - 计算对象值的出现次数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:14:17 27 4
gpt4 key购买 nike

我正在尝试遍历 JSON 文件中的一些数据并计算相同城市/事件的数量...

var json = [
{ "city": "California" },
{ "city": "California" },
{ "city": "California" },
{ "city": "Texas" },
{ "city": "Florida" }
];

var obj = {};

for (var i = 0, j = json.length; i < j; i++) {
if (obj[json[i]]) {
obj[json[i]]++;
}
else {
obj[json[i]] = 1;
}
}

console.log(obj);

JSFiddle: http://jsfiddle.net/f2939ucw/

问题是返回的对象只返回数组中对象的数量,而不是相同的城市。

最佳答案

另一种表达方式:

json.reduce(function(sums,entry){
sums[entry.city] = (sums[entry.city] || 0) + 1;
return sums;
},{});

Array.reduce()对数组的每个元素调用回调,将上一个调用的返回作为下一个中的第一个参数传递。 (最后的 {} 是初始值,传入第一次调用)

所以这正是您所做的 - 创建一个空对象,遍历数组,并在对象内累加总计。它只是简洁地做这件事。

关于javascript - 计算对象值的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29957390/

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