js数组扁平化

Posted 西门本不吹雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组扁平化相关的知识,希望对你有一定的参考价值。

扁平化就是这样的: fun([1,2,[3,4]]) // [1,2,3,4]

1 function fun(array) {
2     if(!Array.isArray(array)) return array;
3     return array.reduce(
4         (result, value) => result.concat(Array.isArray(value) ? fun(value) : value),
5         []
6     );
7 }
8 console.log(fun([1,2,[2,4],[]])) // [ 1, 2, 2, 4 ]
 
let a = []
console.log(a.concat(...[1, 2, 3, [4, 5]]))
console.log(a.concat(...[1, [[2,55],9], 3, [4, 5]])) // [ 1, [ 2, 55 ], 9, 3, 4, 5 ]

...可以展开一层的数组,这里循环遍历

function fun1(arr) {
    while(arr.some(item=>Array.isArray(item))) {
        arr = [].concat(...arr);
    }
    return arr;
}

 

 

以上是关于js数组扁平化的主要内容,如果未能解决你的问题,请参考以下文章

JS数组扁平化

js 数组扁平化

手写一个JS函数,实现数组扁平化Array Flatten

js数组拍平(数组扁平化)的五种方式

-----js实现数组扁平化-----

JS如何实现数组扁平化?不同的方法有什么区别?