gpt4 book ai didi

javascript - 计算数组中重复的 JavaScript 对象值

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

你好,我是社区的新手,这是我的第一个问题。

///我有一个对象数组。某个时候会是几百个。

var locations = [{
"name": "Costco",
"city": "San Francisco",
"state": "CA",
"zip": "75201",
}, {
"name": "Safeway",
"city": "Appleton",
"state": "WI",
"zip": "90210",
}, {
"name": "Foodmart",
"city": "Orlando",
"state": "FL",
"zip": "90210",
}, {
"name": "Trader Joes",
"city": "Concord",
"state": "CA",
"zip": "90210",
}];

///我需要计算每个“状态:”并将值保存为变量,如下所示。

var CA
/// Value would be 2

var FL
/// Value would be 1

var WI
/// Value would be 1

///原谅我,我对数组有点生疏了

最佳答案

使用一个简单的循环,您就可以做到这一点。 (这使用 ES6 箭头函数语法,和 let。很容易替换为 var 和匿名函数语法以兼容旧浏览器)

let states = {};

locations.forEach(obj => {
if (states[obj.state]) states[obj.state]++;
else states[obj.state] = 1;
});

这遍历数组,检查计数器对象中是否存在条目,如果存在,则增加计数,否则添加条目并将其设置为 1。

请注意,我使用了一个对象来存储计数,而不是单个变量。以这种方式编制索引不那么困惑,也更容易。

关于javascript - 计算数组中重复的 JavaScript 对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34163960/

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