全局上有一个1-10的listA数组
let listA = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for万年写法
/* for loop */
for (let i = 0; i < listA.length; i++) {
const item = listA[i]
console.log('for' + ' ' + item)
}
forEach的用法
/* forEach loop */
listA.forEach(function (item) {
console.log('forEach' + ' ' + item)
// forEach 中不支持break和continue
})
every的用法
/* every loop */
listA.every(function (item) {
console.log('every' + ' ' + item)
return true
})
every循环中挑出
/* every loop */
listA.every(function (item) {
console.log('every' + ' ' + item)
return true
})
/* every循环中的跳出 */
listA.every(function (item) {
if (item === 8) {
return false
// return false = break 跳出循环
} else {
console.log('Not Equal = 8 ' + ' ' + item)
return true
}
})
every循环中的跳过和继续执行
listA.every(function (item) {
if (item === 2) {
console.log('Skip when item = 2 ' + ' ' + item)
// continue 当等于2时跳过
} else {
console.log('item = ' + ' ' + item)
// 这里的代码会继续执行
}
return true
// 技巧是把 return true 写在外面
})
for…in循环
listA.a = 8
// for...in循环会[属性]也遍历出来!【缺陷】
// for...in是针对对象的,不要给数组用!
// for...in默认的index是字符串string!
for (const index in listA) {
console.log(index, listA[index])
}
// for...in中用数字index的方式是 * N
for (const index in listA) {
if (index * 1 === 8) {
console.log('i love number 8 !')
} else { console.log(index, listA[index]) }
}
for…of循环
for (const item of listA) {
console.log('for...of ' + ' ' + item)
}
const Price = {
beer: [1.5, 2.99, 5.99],
meat: [18, 25, 36],
coffee: [15, 25, 35]
}
for (const key in Price) {
console.log(key, Price[key])
}
// 以后会学习for...in/of自定义遍历方法
for…in循环
for…in循环会[属性]也遍历出来!【缺陷】 for…in是针对对象的,不要给数组用!>
for…in默认的index是字符串string!
// 为listA数组添加一个a属性
listA.a = 8
// for...in循环会[属性]也遍历出来!【缺陷】
// for...in是针对对象的,不要给数组用!
// for...in默认的index是字符串string!
for (const index in listA) {
console.log(index, listA[index])
}
// for...in中用数字index的方式是 * N
for (const index in listA) {
if (index * 1 === 8) {
console.log('i love number 8 !')
} else { console.log(index, listA[index]) }
}