forEach
myArray.forEach(function (value)){
console.log(value)
}
// 无法中途跳出forEach循环,break和return 无效
for...in
for...in 可遍历数组的键名
for(var index in myArray){
console.log(myArray[index])
}
// for...in 的几个缺点
// 数组的键名是数字但是for...in循环是以字符串作为键名,"0","1","2"等
// 某些情况,for...in 循环会以任意顺序遍历键名
// 总之for...in 是为遍历对象设计的,不适用于遍历数组
for...of
for(let value of myArry){
console.log(value)
}
// for...of没有for...in的缺点
// 不同于forEach,它可以以break、continue、return配合使用
// 提供了遍历所有数据结构的统一操作接口
entries()用于遍历[键名,键值]组成的数组 map结构默认此方法key() 用于遍历所有键名
values() 用于遍历所有键值
let arr = ['a', 'b', 'c']
for (let pair of arr.entries()) {
console.log(pair)
}
// [0, 'a']
// [0, 'b']
// [0, 'c']
for (let pair of arr.keys()) {
console.log(pair)
}
// [0]
// [1]
// [2]
for (let pair of arr.values()) {
console.log(pair)
}
// ['a']
// ['b']
// ['c']