[英]Remove object, with a common property, from array
如果在该数组中的另一个 object 中找到 object 中的单个属性,是否有办法从数组中删除 object?
const arr = [{
car: 'bmw',
notimportant: 'bla bla',
},{
car: 'audi',
notimportant: 'bli bli',
},{
car: 'bmw',
notimportant: 'ble ble',
},{
car: 'golf',
notimportant: 'blo blo',
}]
我还想添加一个计数器,说明有多少重复项
预期结果:
[{
car: 'bmw',
count: 1,
notimportant: 'bla bla',
},{
car: 'audi',
count: 0,
notimportant: 'bli bli',
},{
car: 'golf',
count: 0,
notimportant: 'blo blo',
}]
您可以使用Array#reduce
和 object 来存储每辆车的值。
const arr = [{ car: 'bmw', notimportant: 'bla bla', },{ car: 'audi', notimportant: 'bli bli', },{ car: 'bmw', notimportant: 'ble ble', },{ car: 'golf', notimportant: 'blo blo', }]; const res = Object.values(arr.reduce((acc,curr)=>{ ++(acc[curr.car] = acc[curr.car] || {...curr, count: -1}).count; return acc; }, {})); console.log(res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.