Задать вопрос
@partizzend

Как удалить подмассив из массива, если в подмассиве только пустые строки?

Как удалить подмассив, не содержащий значений, из масссива arr?
var arr = [
  [1, 2, 3, 4, 5, 6, 7],
  [4, 3, 2, 55],
  ["", "", "", ""]
];
  • Вопрос задан
  • 904 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Как будем определять, должен ли элемент массива остаться:

const mustStay = arr => arr.some(n => n !== '');

Собираем новый массив:

const newArr = arr.filter(mustStay);

Изменяем существующий:

arr.reduceRight((_, n, i, a) => mustStay(n) || a.splice(i, 1), null);

// или

arr.splice(0, arr.length, ...arr.filter(mustStay));

// или

let numDeleted = 0;

for (const [ i, n ] of arr.entries()) {
  arr[i - numDeleted] = n;
  numDeleted += !mustStay(n);
}

arr.length -= numDeleted;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы