
全局上有一个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的方式是 * Nfor (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的方式是 * Nfor (const index in listA) {if (index * 1 === 8) {console.log('i love number 8 !')} else { console.log(index, listA[index]) }}
