@eshran

Как удалять элементы из массива так, чтобы он не заменялся null?

Здравствуйте, удаляя какой-то элемент из массива у меня этот элемент превращается в null. Как это можно исправить?

delete message.user

// -> 

[{ ..., null, ... }]


из-за того, что какой-то элемент превращается в null, метод users.find() перестаёт работать.
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Бери и делай
const arr = [1, 2, 3];
let index = 1; // берем индекс двойки. 
let count = 1; // сколько вырезать элементов

arr.splice( index, count );

console.log( arr ); // [1, 3]
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@rPman
Не использовать массив а объект (конвертировать с помощью Object.assign) или Map, в этом случае последовательность может быть разорвана, да и порядок элементов по ключу может быть не упорядочным
Ответ написан
@mitya_k
let res = [ 1, 2, 3];
res.forEach((el, i) => {
  if (el === 2) {
    delete res[i];
  }
})
res = res.filter(Boolean);
console.log(res); // [1, 3]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы