В JavaScript есть несколько способов фильтрации пустых массивов. Один из простых способов - использовать метод filter()
в сочетании с проверкой длины массива.
Вот пример:
const arr = [1, 2, [], 3, [], 4, []]; const filteredArr = arr.filter(item => item.length !== 0); console.log(filteredArr);
В этом примере мы использовали метод filter()
для создания нового массива filteredArr
, который содержит только непустые элементы исходного массива arr
. При этом мы проверяли длину каждого элемента массива с помощью условия item.length !== 0
.
Таким образом, в результате мы получим [1, 2, 3, 4]
, так как все пустые массивы были удалены.
Еще один способ - использовать метод some()
, чтобы проверить каждый элемент массива на пустоту.
const arr = [1, 2, [], 3, [], 4, []]; const filteredArr = arr.filter(item => !item.some(subItem => subItem !== undefined)); console.log(filteredArr);
В этом примере мы использовали метод some()
для проверки каждого элемента массива item
на наличие элементов, отличных от undefined
. Если найден хотя бы один элемент, отличный от undefined
, то some()
вернет true
, и этот элемент не будет исключен из нового массива filteredArr
.
Теперь filteredArr
будет содержать те же элементы [1, 2, 3, 4]
.
Еще один способ - использовать регулярное выражение и метод join()
для фильтрации пустых строк в массиве.
const arr = [1, 2, "", 3, "", 4, ""]; const filteredArr = arr.filter(item => !/^$/.test(item)); console.log(filteredArr);
В этом примере мы использовали регулярное выражение /^$/
, чтобы проверить каждый элемент массива на пустую строку. Если элемент является пустой строкой, то метод test()
вернет true
, поэтому мы используем отрицание !
для исключения пустых строк из нового массива filteredArr
.
Теперь filteredArr
будет содержать те же элементы [1, 2, 3, 4]
.
В зависимости от вашего конкретного случая и структуры данных, вы можете выбрать нужный вам способ фильтрации пустых массивов в JavaScript.