massef
@massef

Как удалить объект из массива если в свойстве объекта присутствует null?

https://codepen.io/anon/pen/KZWvvG?editors=0010

Нужно очистить массив от null и undefined
С массивом arr1 все получилось, а с arr2 не работает, потому что в массив приходят объекты.
Не знаю как пройтись по свойствам, выявить null и undefined и если они есть, то удалить их объект полностью из массива.

UPD:
Если раскомментировать 7 строчку - arr2.push(key.name) и закоментировать 8ю
то в arr2 попадут значения из свойства name, но почему то очистка уже не работает arr2.clean(), почему так происходит?
  • Вопрос задан
  • 453 просмотра
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
var filteredArray = sourceArray.filter(function(e) {
  return e.someKey !== null && e.someKey !== undefined;
});


По поводу ваших велосипедов с Array.prototype.clean. Оставьте эту затею, так делать не принято. Ваша функция clean, помимо null и undefined удаляет из массива элементы со значением 0 и пустые строки.
Используйте функцию filter.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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