JS遍历数组的方法【详解】

法一: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);
                    }  

打印出来的结果是:

JS遍历数组的方法【详解】_第1张图片

即遍历出的是数组里的对象

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); 
                    }

打印出来的是

6bcce81898f94475a7828f6ec546b491.png

即遍历出来的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)

你可能感兴趣的:(JS,javascript,java,开发语言,前端)