Hi I am doing addition of key value from objects of an array. I want to exclude the object from the addition if it has some conditions. Example:
var arrItem = [{"id": 1, "value":100},{"id": 2, "value":300},{"id": 3, "value":400}];
//addition
this.sum = arrItem.map((a:any) => a.value).reduce(function (a:any, b:any) {
return a + b;
});
console.log(this.sum) // ====>>> getting 800
I want to exclude object with id==2
from summation. How I can filter this out so that I will get result as ==> 500
Hi I am doing addition of key value from objects of an array. I want to exclude the object from the addition if it has some conditions. Example:
var arrItem = [{"id": 1, "value":100},{"id": 2, "value":300},{"id": 3, "value":400}];
//addition
this.sum = arrItem.map((a:any) => a.value).reduce(function (a:any, b:any) {
return a + b;
});
console.log(this.sum) // ====>>> getting 800
I want to exclude object with id==2
from summation. How I can filter this out so that I will get result as ==> 500
-
arrItem.filter()
? – Tobias S. Commented Apr 12, 2022 at 6:39 -
@TobiasS. I am not getting exactly how to use
filter()
here. – Optimist Rohit Commented Apr 12, 2022 at 6:41
1 Answer
Reset to default 6You can do it with reduce:
this.sum = arrItem.reduce((acc, val) => {
if (val.id !== 2) return acc + val.value;
return acc;
}, 0);
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745456438a4628507.html
评论列表(0条)