Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Слияние вложенных массивов в 1 массив (https://javascript.ru/forum/misc/69218-sliyanie-vlozhennykh-massivov-v-1-massiv.html)

Alexandroppolus 07.06.2017 16:01

без вспомогательных массивов и сериализаций:
function arrMergeRecursive(arr, result) {
  for (var i = 0; i < arr.length; ++i) {
    Array.isArray(arr[i]) ? arrMergeRecursive(arr[i], result) : result.push(arr[i]);
  }
  return result;
}

ruslan_mart 07.06.2017 16:49

Цитата:

Сообщение от рони
откуда?

Это типа вручную уровень вложенности указываем :)


var arr = [[1,2,3],[[4],[5,[6,7],[8,9]],10]];

while(arr.length !== (arr = Array.prototype.concat.apply([], arr)).length);

alert(JSON.stringify(arr));



let arr = [[1,2,3],[[4],[5,[6,7],[8,9]],10]];

const fn = a => {
	while(a.length !== (a = [].concat(...a)).length);
	return a
}

alert(JSON.stringify(fn(arr)));

nerv_ 07.06.2017 21:26

https://github.com/jfhbrook/node-flatten


Часовой пояс GMT +3, время: 04:53.