[英]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.