数组计数并将结果添加到变量
Javascript Array count and add result to variable
我有一个这样的数组:
var obj = {
"people": [{
"id": "100",
"name": "name 1",
"desc": "desc 1",
"class": "a"
}, {
"id": "192",
"name": "name 2",
"desc": "desc 2",
"class": "b"
}, {
"id": "324",
"name": "name 3",
"desc": "desc 3",
"class": "b"
}, {
"id": "324",
"name": "name 4",
"desc": "desc 4",
"class": "a"
}, {
"id": "324",
"name": "name 5",
"desc": "desc 5",
"class": "a"
}]
};
我知道,例如,为了获得类"a"的所有记录,我这样做:
obj.people.filter(function(item) { return item.class === "a" });
但是如何计算包含类"a"的记录总数呢?
您可以使用返回数组中的Array#length
属性。
count = obj.people.filter(function(item) { return item.class === "a" }).length;
或者使用Array#reduce
并添加比较。
count = obj.people.reduce(function (r, item) { return r + +(item.class === "a") }, 0);
查看filter
返回的数组的length
var result = obj.people.filter(function(item) { return item.class === "a" });
console.log( result.length );
或者你可以简单地运行一个循环告诉你这个计数
var count = 0;
for( var counter = 0; counter < obj.people.length; counter++ )
{
( obj.people[ counter ].class === "a" ) && count++;
}
console.log( count );
相关文章:
- 如何多次添加变量
- 如何在JS中的变量中添加变量
- 用javascript添加变量作为随机生成的结果编号
- Javascript 不从数据库向上添加变量
- 在 Java 脚本中向日期添加变量编号
- 在 AngularJS 中添加变量
- 姜戈;在自定义小部件中向媒体文件添加变量
- 使用下拉列表在嵌入式代码中添加变量
- JQuery 获取链接并根据第 n 个数字添加变量
- JavaScript源代码中添加变量的问题
- 在 JavaScript 中添加变量
- 为什么Google闭包编译器在原始命名空间为空的情况下向全局命名空间添加变量
- 如何添加变量's值转换为数组函数
- 如何在 javascript 中添加变量
- Node.js:如何在url中添加变量作为输入
- 关于在Javascript中添加变量的问题
- 基于IF语句添加变量无效
- 如何在模块上下文中添加变量-Node.js
- JavaScript:添加变量
- 从javascript向Magento会话添加变量