Как удалить пустые значения из массива
Короткий ответ
filter(Boolean) оставляет только истинные значения. Он удаляет null, undefined, пустые строки, 0, false и NaN:
const values = ['a', '', null, 'b', undefined, 0, 'c'];
console.log(values.filter(Boolean));Результат:
[
"a",
"b",
"c"
]Сохранить нули
Если 0 и false — настоящие данные, удаляйте только null, undefined и пустые строки:
const values = [0, '', null, 5, undefined, false];
const clean = values.filter((value) => value !== null && value !== undefined && value !== '');
console.log(JSON.stringify(clean));Результат:
[0,5,false]Строки из пробелов
Сначала обрежьте строки, если пробелы должны считаться пустотой:
const tags = ['js', ' ', 'css', ''];
console.log(tags.map((tag) => tag.trim()).filter(Boolean).join(', '));Результат:
js, cssЧастая ошибка
filter(Boolean) удаляет и нули, а в списках чисел это часто ошибка:
console.log([3, 0, 7].filter(Boolean).join(', '));Результат:
3, 7Функции из этого ответа
- Array.prototype.filter — Создаёт новый массив из элементов, прошедших проверку.
- Boolean() — Превращает значение в true или false.