@Denioo

Как избежать ошибки на пустоту при spread?

Как избежать ошибки на пустоту при развертке нескольких массивов?
Например:
const arr1 = [a, b, c]
const arr2 = [g, g, t, y]
const arr3 = [1, 2, 3, 4]

const allArr = [...arr1, ...arr2, ...arr3]


arr1 всегда полон, но arr2 и arr3 могут быть пустыми, а может быть один не пустой а другой пустой, но если развернуть пустоту в массив, то вылетает ошибка. Как этого избежать? Городить кучу проверок?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 3
0xD34F
@0xD34F Куратор тега JavaScript
[ arr1, arr2, arr3 ].filter(Array.isArray).flat()
Ответ написан
hzzzzl
@hzzzzl
пустой это null? пустой массив [] можно развернуть

a1 = [2,43,5]
a2 = []
[...a1, ...a2]
// (3) [2, 43, 5]


если null/undefined , то да городить кучу проверок
Ответ написан
WblCHA
@WblCHA
const allArr = [...arr1, ...(arr2 || []), ...(arr3 || [])];

Не то, чтобы самое эффективное решение, но зато самое короткое.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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