свойству id и добавить к нему свойство active = true, а остальным false ?
Из такого:
[{id: 1}, {id: 2}, {id: 2}, {id: 3}, {id: 4}, {id: 5}, {id: 5}]
В такой вид:
[{id: 1, active: false}, {id: 2, active: false}, {id: 3, active: false}, {id: 4, active: false} {id: 5, active: true}]
Делаешь пустой массив, проходишься по исходному, пихаешь по дефолту обьект с active false, если встречается дубляж - перекидываешь флаг
А что не так? let arr = [{id: 1}, {id: 2}, {id: 2}, {id: 3}, {id: 4}, {id: 5}, {id: 5}]; let arr1 = [{id: 1}, {id: 2}, {id: 2}, {id: 3}, {id: 4}, {id: 5}, {id: 5}]; let arr2 = [...arr, ...arr1].filter((item, key, local_arr) => { if(item.idCategory !== local_arr[key].idCategory) { item.active = false } else { item.active = true } return item; }) console.log(arr2)
let arr = [{id: 1}, {id: 2}, {id: 2}, {id: 3}, {id: 4}, {id: 5}, {id: 5}]; let arr1 = [{id: 1}, {id: 2}, {id: 2}, {id: 3}, {id: 4}, {id: 5}, {id: 5}]; let arr2 = [...arr, ...arr1].filter((item, key, local_arr) => { if(item.id !== local_arr[key].id) { item.active = false } else { item.active = true } return item; }) console.log(arr2)
Ну и структуры данных у вас )
хранить в структуре даных Set там вроде бы только уникальные коллекции возможне
мой вариант 1) создать объект из массива с помощью форича let obj = {}; arr.forEach(i => { if (objj[i] != null) { obj[i] = { id: i.id, active: true }; } else { obj[i] = { id: i.id, active: false }; } }) 2) преобразовать его обратно в массив let newArray = Object.values(obj);
Обсуждают сегодня