Отфильтровать без изменения создания нового массива

123
03 мая 2022, 04:40

Подскажите пожалуйста каким образом можно отфильтровать массив без возвращения нового массива. При использования filter или new Set возращается новый массив. Мне же необходимо, чтобы вернулся исходный массив, но с уже отфильтрованными значениями. Необходимо отфильтровать i!=={id: 1, name: "Sasha"}

let arr = [{id: 1, name: "Sasha"}, {id: 2, name: "Ivan"}, {id: 1, name: "Sasha"}, {id: 6, name: "Ivan"}]

В результате должен вернуться отфильтрованный массив arr. Спасибо!

Answer 1

let arr = [
  {id: 1, name: "Sasha"}, 
  {id: 2, name: "Ivan"}, 
  {id: 1, name: "Sasha"}, 
  {id: 6, name: "Ivan"}
];
let ids = new Set();
for (let i = 0; i < arr.length; i++) {
  ids.has(arr[i].id)? arr.splice(i--, 1) : ids.add(arr[i].id);
}
console.log(arr);

READ ALSO
Обход XSS санитизации

Обход XSS санитизации

Надеюсь кто-нибудь сможет выручить

171
Верстка сложных карточек с анимацией (CSS, JS, jQuery?)

Верстка сложных карточек с анимацией (CSS, JS, jQuery?)

Мне для проекта необходимо сверстать такие же карточки как на скриншотахПо умолчанию активна первая карточка с описанием элемента слева

245
Делаю Реакт тесты. Error: ForwardRef(Link)

Делаю Реакт тесты. Error: ForwardRef(Link)

Делаю тесты, все как показывает преподаватель, даже уже просто скопировал код, но почему то ошибкаВ общем как я понял в тестах показывает...

235