без вспомогательных массивов и сериализаций:
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; } |
Цитата:
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))); |
|
Часовой пояс GMT +3, время: 04:53. |