Как не показывать пустые массивы?

В 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.