| 方法名称 |
版本 |
适用类型 |
能否break continue? |
特征 |
| for |
es5 |
Array |
√ |
|
| forEach |
es5 |
Array |
× |
形式简洁,但要全部遍历完,无法控制 |
| every |
es5 |
Array |
× ,可用return fasle/true控制继续终止 |
形式简洁 |
| for in |
es5 |
Object |
√ |
可以遍历对象key与value |
| for of |
es6 |
Array、 Set、Map、类数组、有iterator接口 |
√ |
可以遍历类数组,但无法遍历object类型 |
// for
//break 和 continue 可以在for中使用
let arr1 = [1,2,3,4]
for(let i=0;i < arr1.length; i++){
if(i == 2) break;
console.log(arr1[i]) //1 2
}
//forEach
//无法使用break,continue,必须全部循环完
let arr2 = [1,2,3,4]
arr2.forEach((item)=>{
console.log(item) //1 2 3 4
})
//every
//return false/true去控制程序中止和继续
let arr3 = [1,2,3,4]
arr3.every((item) => { //1 2
if(item == 2){
console.log(item)
return false
}else{
console.log(item)
return true
}
})
//for in
//针对object的遍历,break可以使用
let arr4 = [1,2,3,4]
for(let key in arr4){
console.log(key) //字符串0,1,2,3
}
//for of
//任何类型遍历
let arr5 = [1,2,3,4]
for(let value of arr5){
console.log(value) //1,2,3,4
}