• 多维数组降维的几种方法


    这里只说二维数组降低到一维数组的方法,关于三维数组,先用下面这些方法降低到二维,再降低到一维即可

    1.常规循环遍历方法

        var a = [1,2,[3,4]]
        var result = [];
        for(var i=0; i< a.length; i++){
            if(a[i].constructor == Array) {
                for(var j=0; j<a[i].length; j++){
                    result.push(a[i][j])
                }
            }else {
                result.push(a[i])
            }
        }
        console.log(result)// [1,2,3,4]

    2利用contact 

        var a = [1,2,[3,4]]
        var result = []
        for(var i=0; i<a.length; i++){
            if(a[i].constructor == Array) {
                result = result.concat(a[i])
            }else {
                result.push(a[i])
            }
        }
        console.log(result) // [1,2,3,4]

    3.利用扩展运算符

    扩展运算符相当于数组拆成最小单位了,...[1,,2,,[3, 4]] 相当于变成了 1,2,  [3, 4];  这样 [].concat(...a) 就相当于 [].concat(1,2,[3,4])

        var a = [1,2,[3,4]]
        var result = []
        result = [].concat(...a)
        console.log(result) // [1,2,3,4]

    4.利用apply

    这个跟扩展运算符类似,apply 会把数组a 拆分,拆成 1,2,[3, 4] 依次传递给concat方法,  效果就跟 扩展运算符一样了。

       var a = [1,2,[3,4]]
         var result = []
         result = Array.prototype.concat.apply([], a)
         console.log(result) // [1,2,3,4]
  • 相关阅读:
    汇编/操作系统 索引帖
    极地网络
    河中跳房子游戏
    搬家大吉QAQQAQ
    【USACO3.1.1】Agri-Net最短网络
    浅谈二叉树
    Android面试经验汇总(二)
    Android面试经验汇总(一)
    Android 聊天室(二)
    Android 聊天室(一)
  • 原文地址:https://www.cnblogs.com/yalong/p/10615194.html
Copyright © 2020-2023  润新知