Javascript - 如何按参数过滤对象数组
Javascript - How to filter an array of Objects by a Parameter
我有一个变量,它是一个注释数组。
$scope.numOfCommentsCoupon
我想要的是一个变量,它是数组中具有某个值的"couponId
"的注释计数。
这是注释模型
var CommentSchema = new Schema({
created: {
type: Date,
default: Date.now
},
couponId: {
type: String,
trim: true
}
});
所以我需要过滤它,然后计数它,但我不确定如何。
如果你有一系列的注释,要做到这一点,你可以做这样的事情
var count = 0;
comments.filter(function(comment,index,array){
if (comment.couponId === "some_value") {
count++;
}
});
或者你可以使用 for 循环迭代它。要实现的非常简单的东西
我想
我遵循您要做的事情,您可以使用array.filter
它看起来像这样:
var currentCouponId = 1;
var matching = yourArray.filter(function (element) { return element.couponId == 1; });
console.log(matching.length);
> 您可以在数组上使用reduce
方法来获取couponId
等于给定字符串的优惠券计数:
var comments = [
{
couponId : "1"
},
{
couponId : "2"
}
];
var couponIdToCount = "2";
var count = comments.reduce(function(previous, current) {
return current.couponId == couponIdToCount ? previous + 1: previous;
}, 0);
console.log(count)
相关文章:
- 执行过滤对象数组的方法
- 如何按数组/对象值的倍数过滤对象数组
- 访问KendoUI中Datasource过滤对象的字段
- 通过 nodejs 过滤对象数组
- 如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
- 如何使用filter函数在javascript中过滤对象
- Javascript:按字符串数组过滤对象数组
- 按对象属性过滤对象的角度
- RXJS5 - 按每个对象包含的可观察性过滤对象数组
- 通过使用 AngularJS 遵循 OR 运算符仅过滤对象中的特定字段
- 在 lodash 中按键过滤对象
- Javascript 过滤对象
- Javascript - 如何按参数过滤对象数组
- 使用过滤器和下划线过滤对象数组
- 过滤对象数组时的无限$digest循环
- 使用Moment.js按“上个月”和“上周”单击时过滤对象数组
- 如何在 javascript 中过滤对象中具有特定后缀的键/值
- 按对象的属性过滤对象的 JavaScript 数组并删除重复项
- 对于循环中仅过滤对象
- 通过ng repeat内的关键帧过滤对象