计算数组中是否存在重复的JavaScript对象值
Count JavaScript object value in array for duplicates
你好,我是社区的新手,这是我的第一个问题。
///我有一组物体。在某个时候会有几百。
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",
}];
///我需要计算每个"state:",并将其值作为如下所示的变量。
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。
请注意,我使用了一个对象来存储计数,而不是单个变量。通过这种方式,它不那么混乱,也更容易索引。
感谢"Sterling Archer"。。。这个问题解决了。Fiddle:http://jsfiddle.net/30bdf7h2/48/
// LIST
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 states = {};
locations.forEach(obj => {
if (states[obj.state]) states[obj.state]++;
else states[obj.state] = 1;
});
var countForCA = states["CA"];
magic();
function magic() {
document.getElementById("state_total").innerHTML = "CA Count: "+countForCA;
document.getElementById("array_total").innerHTML = "Array Total: " + locations.length;
}
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值