如何检查名称索引数组中有多少特定结果
How to check how many specific results is in name indexed array
我想检查有多少名称为 "order" 的元素的值等于 1。
我的数组:
var myArray=[{"index":1,"zamid":"765","prod":"Spaghetti","price":"22","prod_c":"1","order":"1"},
{"index":2,"zamid":"766","prod":"Coca","price":"5","prod_c":"1","order":"0"},
{"index":3,"zamid":"767","prod":"Hamburger","price":"6","prod_c":"1","order":"1"}]
感谢您的帮助!
可以使用Array.prototype.filter()函数(使用箭头函数):
let count = myArray.filter(i => i.order === "1").length;
ES5 替代方案:
var count = myArray.filter(function(i) {
return i.order === "1";
}).length;
您可以使用Array.filter
var myArray = [{
"index": 1,
"zamid": "765",
"prod": "Spaghetti",
"price": "22",
"prod_c": "1",
"order": "1"
}, {
"index": 2,
"zamid": "766",
"prod": "Coca",
"price": "5",
"prod_c": "1",
"order": "0"
}, {
"index": 3,
"zamid": "767",
"prod": "Hamburger",
"price": "6",
"prod_c": "1",
"order": "1"
}]
var result = [];
result = myArray.filter(function(obj){
return obj.order == 1
});
console.log(result)
定义 "outer" 计数器并检查数组 forEach
:
var counter = 0;
var myArray=[{"index":1,"zamid":"765","prod":"Spaghetti","price":"22","prod_c":"1","order":"1"},
{"index":2,"zamid":"766","prod":"Coca","price":"5","prod_c":"1","order":"0"},
{"index":3,"zamid":"767","prod":"Hamburger","price":"6","prod_c":"1","order":"1"}];
myArray.forEach(function(obj){
if(obj.order == 1) counter++;
});
console.log(counter); // output: 2
缺少一个数组方法:Array.prototype.reduce()
var myArray = [{ "index": 1, "zamid": "765", "prod": "Spaghetti", "price": "22", "prod_c": "1", "order": "1" }, { "index": 2, "zamid": "766", "prod": "Coca", "price": "5", "prod_c": "1", "order": "0" }, { "index": 3, "zamid": "767", "prod": "Hamburger", "price": "6", "prod_c": "1", "order": "1" }],
count = myArray.reduce(function (r, a) {
return r + (a.order === '1');
}, 0);
document.write(count);
我想检查有多少名称为 "order" 的元素的值等于 1。
我的数组:
var myArray=[{"index":1,"zamid":"765","prod":"Spaghetti","price":"22","prod_c":"1","order":"1"},
{"index":2,"zamid":"766","prod":"Coca","price":"5","prod_c":"1","order":"0"},
{"index":3,"zamid":"767","prod":"Hamburger","price":"6","prod_c":"1","order":"1"}]
感谢您的帮助!
可以使用Array.prototype.filter()函数(使用箭头函数):
let count = myArray.filter(i => i.order === "1").length;
ES5 替代方案:
var count = myArray.filter(function(i) {
return i.order === "1";
}).length;
您可以使用Array.filter
var myArray = [{
"index": 1,
"zamid": "765",
"prod": "Spaghetti",
"price": "22",
"prod_c": "1",
"order": "1"
}, {
"index": 2,
"zamid": "766",
"prod": "Coca",
"price": "5",
"prod_c": "1",
"order": "0"
}, {
"index": 3,
"zamid": "767",
"prod": "Hamburger",
"price": "6",
"prod_c": "1",
"order": "1"
}]
var result = [];
result = myArray.filter(function(obj){
return obj.order == 1
});
console.log(result)
定义 "outer" 计数器并检查数组 forEach
:
var counter = 0;
var myArray=[{"index":1,"zamid":"765","prod":"Spaghetti","price":"22","prod_c":"1","order":"1"},
{"index":2,"zamid":"766","prod":"Coca","price":"5","prod_c":"1","order":"0"},
{"index":3,"zamid":"767","prod":"Hamburger","price":"6","prod_c":"1","order":"1"}];
myArray.forEach(function(obj){
if(obj.order == 1) counter++;
});
console.log(counter); // output: 2
缺少一个数组方法:Array.prototype.reduce()
var myArray = [{ "index": 1, "zamid": "765", "prod": "Spaghetti", "price": "22", "prod_c": "1", "order": "1" }, { "index": 2, "zamid": "766", "prod": "Coca", "price": "5", "prod_c": "1", "order": "0" }, { "index": 3, "zamid": "767", "prod": "Hamburger", "price": "6", "prod_c": "1", "order": "1" }],
count = myArray.reduce(function (r, a) {
return r + (a.order === '1');
}, 0);
document.write(count);