for及带for的应用
一、for
常用:遍历数组及对象
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}
语句 1 (代码块)开始前执行
语句 2 定义运行循环(代码块)的条件
语句 3 在循环(代码块)已被执行之后执行
实例
sum = 0;
for (var i = 0; i < 5; i++) {
sum += i;
}
console.log(sum);//10
双重for循环
// 打印五行五列星星
var str = ‘’;
for (var i = 1; i <= 5; i++) { //外层循环负责五行打印
for (var j = 1; j <= 5; j++) {
str = str + ‘★’
}
// 如果一行打印完毕5个星星就要另起一行 加 \n
str = str + ‘\n’;
}
console.log(str);
二、foreach
forEach() 方法对数组的每个元素执行一次提供的函数。
iterable.forEach(function(value, key, iterable) {
console.log(key, value, iterable);
});
实例:
var array = ['a', 'b', 'c'];
array.forEach(function(element) {
console.log(element);//a,b,c
});
forEach方法中的function回调有三个参数:
第一个参数是遍历的数组内容,
第二个参数是对应的数组索引,
第三个参数是数组本身
var arr = [1,2,3,4];
var sum =0;
arr.forEach(function(value,index,array){
array[index] == value; //结果为true
sum+=value;
});
console.log(sum); //结果为 10
三、for in
for…in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
arr = [1, 2, 3, 4, 5, 65, 7, 8, 9, 6];
for (let k in arr) {
console.log(k);
console.log(arr[k])
}
0
1
1
2
2
3
3
。。。
既可以遍历index值,也可以遍历value
四、for of
arr = [1, 2, 3, 4, 5, 65, 7, 8, 9, 6];
for (let k of arr) {
console.log(k);
console.log(arr[k]);
}
1
1
2
2
3
3
。。。
只能遍历value,不能遍历index
for in 和 for of 的区别
1.遍历对象 通常用for in来遍历对象的键名
2.for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。