@partizzend

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

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

const newArr = arr.filter(n => n.some(m => m !== ''));

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

arr.reduceRight((_, n, i, a) => n.every(m => m === '') && a.splice(i, 1), null);

// или

arr.splice(0, arr.length, ...arr.filter(n => n.some(m => m !== '')));

// или

let numDeleted = 0;

for (let i = 0; i < arr.length; i++) {
  arr[i - numDeleted] = arr[i];
  numDeleted += arr[i].every(n => n === '');
}

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

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

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