[英]how to convert plain array into nested object which is nested into parent object
[英]Convert a nested array to plain Arrays
我有一个像下面的数组
var arr = [["a", "b"],[1],[5,6]];
我想将其转换为如下所示的纯JSON
arr = [
["a","a","b","b"]
[1,1,1,1]
[5,6,5,6]
]
逻辑是
在第一个数组元素的每个项目下,所有元素都是子元素,在下一个[1],[5,6]的每个数组项目下都是子元素
a->1->[5,6]
b->1->[5,6]
如果var arr = [["a", "b"],[1,2],[5,6]];
然后
a->[1]->[5,6]
a->[2]->[5,6]
就像元素b一样。 我不知所措,感到震惊
像这样?:
var arr = [["a", "b"],[1],[5,6]];
var convert2PlainArray = function(array){
var totalLength = 1,
plainArray = [];
for(var i=0;i<array.length; i++){
totalLength*=array[i].length;
}
for(var i=0;i<array.length; i++){
var currentElementLength = totalLength/array[i].length,
tempArray = [];
for(var e=0;e<array[i].length; e++){
for(var l=0;l<currentElementLength; l++)tempArray.push(array[i][e]);
}
plainArray.push(tempArray);
}
return plainArray;
}
alert(JSON.stringify(convert2PlainArray(arr)));
在小提琴上对其进行测试: http : //jsfiddle.net/GMJzW/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.