/*
参考链接:https://juejin.cn/post/6844904142058553351#heading-1
遍历方式:
for、for...in、for...of、map、forEach
*/
// for:最常见的循环方式,使用频率高,性能也是不错的
let arr = ['apple', 'orange'];
for (let index = 0; index < arr.length; index++) {
console.log('————for————', index, arr[index]);
}
// for...of:语法简洁,直接获取输出内容,性能优于 for...in
//
for (let value of arr) {
console.log('————for...of————', value);
}
// for...in,用于遍历 Object 多些,效率低于 for,for...of
// for...in,用在可枚举的数据,如:对象、数组、字符串
for (let key in arr) {
console.log('————for...in————', key, arr[key])
}
// for...of Object.keys 遍历 Object 对象的方法
// for...of 用在可迭代的数据,如 数组、字符串、Map、Set
let objs = {
name: 'Tom',
age: '18',
work: 'it'
}
for (let value of Object.keys(objs)) {
console.log('————for...of Object.keys————', value, objs[value]);
}
// forEach Array 自带遍历方法,可以输出 元素、下标、源数组,但是在遍历的过程中想要中断遍历是不行的
arr.forEach((item, index, arr) => {
console.log('————forEach————', item, index, arr);
})
/*
for...of 终止后续的程序或者终止当前的循环可以使用到: break、 continue;
break; ==> 用于跳出当前循环,如果 for 循环中嵌套了 for 循环,那么循环都会被终止;
continue ==> 跳出当前循环,并不会终止后续循环;
*/
let arr2 = ['apple', 'orange', 'banner'];
for (let value of arr2) {
for (let v of arr) {
console.log('————for...of2————', v);
}
if (value === 'orange') break;
console.log('————for...of————', value);
}
console