美文网首页
10 JavaScript将二维数组对象转换为一维数组对象

10 JavaScript将二维数组对象转换为一维数组对象

作者: 个人不完美 | 来源:发表于2018-10-18 13:57 被阅读0次
    1.1 原始数组格式

    [[{name:"张水"},{name:"张超"},{name:"李四"}],[{name:"老zhang"},{name:"老铁"},{name:"老吴"}]]

    需要转换的数据格式:
    [{name: "张水"}, {name: "张超"}, {name: "李四"}, {name: "老zhang"}, {name: "老铁"}, {name: "老吴"}]

    1.2 结构分析

    从上面的数据格式来看,原始数据里面是标准的二维数组格式,而我们要转换的是一个维数组嵌套多个对象的结构,所以我们可以做两次循环 产生一个新的数组便可以实现。

    1.3 实现方法
                    //方法一:使用两层for循环遍历
                    var johnObj= [[{name:"张水"},{name:"张超"},{name:"李四"}],[{name:"老zhang"},{name:"老铁"},{name:"老吴"}]]
                    var newArrs=[]; //新的数组格式
                    for(var i=0;i<johnObj.length;i++){
                        var arr=johnObj[i];
                        for(var t=0;t<arr.length;t++){
    
                            newArrs.push(arr[t]);   
                        }
                    }
                    console.log(newArrs);
    
    image.png
                    //方法二 第一次遍历数组后 使用concat连接 组合成新的数组对象
                    var johnObj= [[{name:"张水"},{name:"张超"},{name:"李四"}],[{name:"老zhang"},{name:"老铁"},{name:"老吴"}]]
                    var newArr=[];
                    for(var i=0;len=johnObj.length,i<len;i++){
    
                        newArr=newArr.concat(johnObj[i]);
                    }
                    
                    console.log(newArr);
    
     
    
    image.png
      //方法三 
    var johnObj= [[{name:"张水"},{name:"张超"},{name:"李四"}],[{name:"老zhang"},{name:"老铁"},{name:"老吴"}]];
            var newArrList=[];
            //二维数组遍历
            for (var i = 0; i < johnObj.length; i++) {
                for (var j = 0; j < johnObj[i].length; j++) {
                    newArrList.push(johnObj[i][j]);
                }
                
            }
            console.log(newArrList);
    
    image.png

    相关文章

      网友评论

          本文标题:10 JavaScript将二维数组对象转换为一维数组对象

          本文链接:https://www.haomeiwen.com/subject/wpnjzftx.html