Приветствую, е меня есть массив:
const users = [
{
name: 'Alex',
id: 1
},
{
name: 'Ivan',
id: 2
},
{
name: 'Anna',
id: 3
}
];
И ко мне прилетел объект:
{
name: 'Vlad',
id: 4
}
я должен проверить в массиве есть ли объект с таким id и если нет, то добавить, а если есть, то просто удалить объект из массива. Условно если ко мне прилетит опять объект с id '3', то я должен вернуть массив со всеми пользователями кроме Анны. Вот мой код:
filterFunc(obj) {
let check;
if (this.arr.length) {
check = this.arr.find((elem) => elem.id === obj.id);
}
if (check === undefined) {
this.arr.push(obj);
} else {
this.arr = this.arr.filter((elem) => elem.id !== obj.id);
}
return arr;
}
Все работает, но сам код оставляет желать лучшего, можете подсказать более правильную запись?