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