javaScript遍历数组的一些方法

本文详细介绍了JavaScript中的for循环、for...of、for...in,以及every、filter、forEach、map、some、find、findIndex和reduce、reduceRight等数组处理函数的用法和示例,帮助读者理解这些基本但重要的编程技巧。
摘要由CSDN通过智能技术生成

1,for循环

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

    let arr=[1,2,3,4,5]
    for(let i=0;i<arr.length;i++){
        //分别输出1,2,3,4,5
        console.log('arr'+arr[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

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

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值