双层循环是指在一个循环体内嵌套另一个循环体,通常用于对多维数组或嵌套对象进行遍历。
以下使用 for 循环嵌套来实现。如何遍历一个二维数组:
var arr = [[1, 2], [3, 4], [5, 6]];
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr[i].length; j++) {
console.log(arr[i][j]);
}
}
//依次输出
//1
//2
//3
//4
//5
//6
- 在上面的例子中,外层循环遍历了二维数组的每一个子数组,内层循环遍历了每一个子数组中的元素。通过这样的双层循环,我们可以依次访问二维数组中的每一个元素。
双层循环也可以用来遍历嵌套的对象,例如:
var obj = { a: {x: 1, y: 2}, b: {x: 3, y: 4}, c: {x: 5, y: 6} };
for (var key1 in obj) {
for (var key2 in obj[key1]) {
console.log(key1 + '.' + key2 + ' = ' + obj[key1][key2]);
}
}
//依次输出
//a.x = 1
//a.y = 2
//b.x = 3
//b.y = 4
//c.x = 5
//c.y = 6
- 在上面的例子中,外层循环遍历了对象的每一个属性,内层循环遍历了每一个属性对应的子对象的每一个属性。通过这样的双层循环,我们可以依次访问嵌套对象中的每一个属性。