法一:for循环
法二:forEach遍历(可以同时取出数组中的值和值对应的下标)
必须搭配函数使用,而且可以直接取出数组中的每个对象和对象对应的下标
let arr = [{'er': 'qwe'}, {'er': 'asd'}]; arr.forEach((item,index)=>{ console.log(index); })
数组名称.forEach((item,index)=>{})
法三:for --- of遍历
一般情况,for---of不能遍历普通对象,因为普通对象没有Symbol.iterator属性,如果一个对象有Symbol.iterator属性,那么就可以使用for---of遍历了
let arr = [{'er': 'qwe'}, {'er': 'asd'}]; for (let i of arr){ console.log(i); }
打印出来的结果是:
即遍历出的是数组里的对象
for(let 变量名 of 数组名称){代码块}
法四:for --- in遍历(常见用在对象中,遍历对应的key值和value值)
数组:
let arr = [{'er': 'qwe'}, {'er': 'asd'}]; for (let i in arr) { console.log(i); }
打印出来的结果是0 1
即遍历出来的是数组中对象的下标
对象:
var arr = {'er': 'qwe', 'ers': 'asd'}; for (let i in arr) { console.log(arr[i],i); }
打印出来的是
即遍历出来的i为对象中的key,arr[i]为对象里的value
但对象中如果出现多个重复key值,也就是出现了key值命名重复现象。则会出现键值对覆盖现象,只会出现最后一个键值对。
for(let 变量名 in 数组名称){代码块}
法五:map循环
let a = [1, 2, 3, 4, 5, 6]
let ab = a.map((item,index)=>{return item*2})
返回的是一个数组[2,4,6,8,10,12]
法六:every循环
法七:Each循环($Each)