javaScript遍历数组的一些方法

1,for循环

for循环是最基础并且是比较常用的一种

    let arr=[1,2,3,4,5]
    for(let i=0;i

2,for...of循环

使用for...of循环可以遍历数组,并且直接获取里面的每个元素

    let arr=[1,2,3,4,5]
    for(let element of arr){
        console.log(element)//1,2,3,4,5
    }

3,for...in

可以遍历对象或数组,遍历数组时key为数组下标

    let arr=[1,2,3,4,5]
    for(let key in arr){
        //输出0,1,2,3,4
        console.log(key)
    }

4,every()

every,filter,forEach,map,some它们分别接受3个参数:数组项的值,数组中的索引位置和数组对象本身

对数组中的每一项运行给定的函数,如果每一项都返回true,则结果返回true

    let arr=[1,2,3,4,5]
    let result = arr.every(function (item,index,array) {
        return (item>3)
    })
    console.log(result)//false

如果有一项不符合要求就返回false

5,filter()

对数组中的每一项运行给定的函数,返回该函数会返回true项组成的新数组(它会返回一个新的数组,并不会影响原来的数组.)可以用来过滤某些需要的数据。

    let arr=[1,2,3,4,5]
    let result = arr.filter(function (item,index,array) {
        return (item>3)
    })
    console.log(result)//[4,5]

6,forEach()

对数组中的每一项运行给定的函数,这个方法没有返回值。无法中途跳出forEach循环,break命令或return命令都不能生效。

    let arr=[1,2,3,4,5]
    arr.forEach(function (item,index,array) {
        //分别打出每个元素和索引
        console.log(item,index)
    })

7,map()

对数组中的每一项运行给定函数,返回每次函数调用结果组成的新数组,并不会影响原来的数组

    let arr=[1,2,3,4,5]
    let result=arr.map(function (item,index,array) {
        return item+1
    })
    console.log(arr)//[1,2,3,4,5]
    console.log(result)//[2,3,4,5,6]

8,some()

对数组中的每一项运行给定的函数,如果该函数的任何一项都返回true(只要找到一个符合条件的就行),则返回true,结果为

    
    let arr=[1,2,3,4,5]
    let result=arr.some(function (item,index,array) {
        return item>3
    })
    console.log(result)//true

    let arr=[1,2,3,4,5]
    let result=arr.some(function (item,index,array) {
        return item>8
    })
    console.log(result)//false

9,find()

返回第一个符合条件的元素,没有找到返回undefined

    //第一种
    let arr=[1,2,3,4,5]
    let result = arr.find(function (value) {
        return value===10
    })
    console.log(result)//3
    
    //第二种
    let arr=[1,2,'张三',4,5]
    let result = arr.find(function (value) {
        return typeof value==='string'
    })
    console.log(result)//张三

10,findIndex()

返回第一个符合条件元素的索引,没有找到返回-1

    //第一种
    let arr=[1,2,'张三',4,5]
    let result = arr.findIndex(function (value) {
        return value===2
    })
    console.log(result)//1


    //第二种
    let arr=[1,2,'张三',4,5]
    let result = arr.findIndex(function (value) {
        return value===10
    })
    console.log(result)//-1

11,reduce()和reduceRight()

        这两个方法都会迭代数组中的所有项,然后返回一个最终的值。reduce方法从数组的第一项开始,一直遍历到最后。面reduceRight从数组的最后一项开始,一直遍历到最开始的第一项。接受4个参数,前一个值,当前值,数组项的索引和数组本身。

        这个函数返回的任何值都会作为第一个参数自动传给下一项,第一次迭代发生在数组的第二个元素上(第一次就从第二个元素开始)因此第一个参数就是数组的第一项,第二个参数就是数组的第二项。

解释:第一次遍历从2开始,用1和2相加,第二次遍历把第一次的结果和3相加,以此类推,一直到最后一个。reduceRight的用法和reduce相反,从后往前开始。


     //reduce
    let arr=[1,2,3,4,5]
    let result = arr.reduce(function(prev,cur,index,array){
        return prev+cur
    })
    console.log(result)//15


    //reduceRight
    let arr=[1,2,3,4,5]
    let result = arr.reduceRight(function(prev,cur,index,array){
        return prev+cur
    })
    console.log(result)//15

对可能用到的做一个总结,做个笔记。

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