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

2018-10-18  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读