@syb2024

Как сделать один массив из массивов?

function arra(data){
    if(Array.isArray(data)){
       let x = data.reduce((acc, value) => {
           if(Array.isArray(value)){
            acc = value
            return arra(acc)
           }
           else{
             acc.push(value)
           }
           return acc
        
        },[])
        console.log(x)
    }

[[1,2], ['a','b']]

В консоли получается два разных массива, как сделать из массива массивов один массив?
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Если один уровень вложенности, то так:
[[1,2], ['a','b']].flat(); // [1, 2, 'a', 'b']
Если два уровня вложенности, то так:
[[1,2], ['a','b']].flat(2); // [1, 2, 'a', 'b']
Если мы не знаем уровни вложенности, то так:
[[1,2, ['a', ['a', ['a','b'],'b'],'b']], ['a','b']].flat(Infinity); // [1, 2, 'a', 'a', 'a', 'b', 'b', 'b', 'a', 'b']
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы