我有一个数组的数组(有些东西像图),如何迭代所有数组?循环通过数组阵列
var parentArray = [
[[1,2,3],[4,5,6],[7,8,9]],
[[10,11,12],[13,14,15],[16,17,18]],
[[19,20,21],[22,23,24],[26,27,28]]
];
它只是一个示例数组,实际可以包含任意数量的数组,然后是数组。如何打印所有这些数字?它类似于HTML对象DOM
我有一个数组的数组(有些东西像图),如何迭代所有数组?循环通过数组阵列
var parentArray = [
[[1,2,3],[4,5,6],[7,8,9]],
[[10,11,12],[13,14,15],[16,17,18]],
[[19,20,21],[22,23,24],[26,27,28]]
];
它只是一个示例数组,实际可以包含任意数量的数组,然后是数组。如何打印所有这些数字?它类似于HTML对象DOM
这个递归函数应该与任意数量的尺寸做的伎俩:
var printArray = function(arr) {
if (typeof(arr) == "object") {
for (var i = 0; i < arr.length; i++) {
printArray(arr[i]);
}
}
else document.write(arr);
}
printArray(parentArray);
大声笑,我们都发布相同的名称相同的功能。 –
xD crazy:P .... –
好吧,这个名字太明显了:) –
对于2个dimenional阵列:
for(var i = 0; i < parentArray.length; i++){
for(var j = 0; j < parentArray[i].length; j++){
console.log(parentArray[i][j]);
}
}
对于数组与维度数目不详的,你必须使用递归:
function printArray(arr){
for(var i = 0; i < arr.length; i++){
if(arr[i] instanceof Array){
printArray(arr[i]);
}else{
console.log(arr[i]);
}
}
}
如果你有一个像结构的DOM,你需要通过递归的元素进行迭代。这样的东西应该工作:
function printArray(array) {
for (var i = 0; i < array.length; i++) {
var v = array[i];
if (v instanceof Array) {
printArray(v);
} else {
console.log(v);
}
}
}
一种选择是使用递归与适用于任何数量的dephts的。见traverse()
,这不是测试,但应该给一个大概的了解:
String.prototype.lpad = function(padString, length) {
var str = this;
while (str.length < length)
str = padString + str;
return str;
}
var level = 0;
function traverse(obj) {
if (obj instanceof Array) { level++; for(var i in obj) traverse(obj[i]); level--; }
else console.log(''.lpad('-', level) + obj);
}
你需要做的就是这样的事情
var parentArray = [
[[1,2,3],[4,5,6],[7,8,9]],
[[10,11,12],[13,14,15],[16,17,18]],
[[19,20,21],[22,23,24],[26,27,28]]
];
for(int i = 0; i < parentArray.length;i++){
var value = parent[i];
for(int j = 0; j < parent[i].length; j++){
var innerValue = parent[i][j];
}
}
因此,这将是像一个嵌套循环,然后那里有innerValue和值是你可以做一些操作,希望对你有帮助
如果你只是想打印所有的成员,那这个怎么样?
var items = parentArray.toString().split(",");
for(var i=0,j=items.length;i<j;i++)
console.log(items[i]);
相关:http://stackoverflow.com/questions/4419537/enhanced-for-loop-in-2d-array-javascript –