码迷,mamicode.com
首页 > 编程语言 > 详细

js数组扁平化

时间:2019-02-21 00:19:45      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:...   循环   return   pre   val   []   js数组   res   isa   

扁平化就是这样的: 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数组扁平化

标签:...   循环   return   pre   val   []   js数组   res   isa   

原文地址:https://www.cnblogs.com/wangtingnoblog/p/10408949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!