zoukankan      html  css  js  c++  java
  • 数组中遍历的方法

    在数组的方法中有一组用于遍历数组的方法。有 forEach()、map()、filter()、find()、reduce()、some()、every()。

    他们的共同特征是:
     1.    它们都自带遍历(只要调用这个方法就会自动循环数组中的每一项)
     2.    它们都不会改变原数组,调用方法后产生的结果在返回值中
     3.    它们的参数都是一个函数,这个函数都有三个参数(只有第一个“项”是必填的)

    forEach((item,index,default)=>....)

        1.    item:代表这一次循环出来的项
        2.    index:代表这一次循环出来的相前项的索引
        3.    default:代表的是当前用于循环的数组

    1、forEach()方法

      作用:循环每一项(没有其它特殊作用)

      参数:一个函数

      返回值:“undefined” (因为仅仅只是循环每一项,所以返回值就是"undefined")

    例如:

    let arr = ["1","3","5","7","9","11"]
    let x = arr.forEach((a,i,t)=>{  //a : 代表这一次循环出来的项 ; i : 代表这一次循环出来的相前项的索引; t : 代表的是当前用于循环的数组
        console.log(a,i,t)
        return a
    })
    console.log(x)

     输出结果为:

    2.、map() 方法

      作用:更新数组(循环并更新每一项,最后返回所有项的数组)

      参数:是一个函数  

      返回值:更新后的数组

    例如:

    let arr = ["1","3","5","7","9","11"]
    let x = arr.map((a,i,t)=>{  //a : 代表这一次循环出来的项 ; i : 代表这一次循环出来的相前项的索引; t : 代表的是当前用于循环的数组
        console.log(a,i,t)
        return a*a
    })
    console.log(x)

     输出结果为:

    3.、filter() 方法

      作用:过滤数组(循环并查找满足条件的项,最后返回所有满足条件的项的数组)

      参数:是一个函数

      返回值:满足条件项的数组 (如果没有满足条件的项则返回空数组)

    例如:

    let arr = ["1","3","5","7","9","11"]
    let x = arr.filter((a,i,t)=>{  //a : 代表这一次循环出来的项 ; i : 代表这一次循环出来的相前项的索引; t : 代表的是当前用于循环的数组
        console.log(a,i,t)
        return a == 3  //此处的等于并非绝对等于“===” ,若想完全相同应该换为绝对等于
    })
    console.log(x)

    输出结果为:

    4、find()方法

      作用:查找满足条件的第一项

      参数:一个函数

      返回值:满足条件的那一项(不是满足条件的项的索引,如果没有满足条件的项,则返回“undefined”)

    例如:

    let arr = ["1","3","5","7","9","11"]
    let x = arr.find((a,i,t)=>{  //a : 代表这一次循环出来的项 ; i : 代表这一次循环出来的相前项的索引; t : 代表的是当前用于循环的数组
        console.log(a,i,t)
        return a == 5  //此处的等于并非绝对等于“===” ,若想完全相同应该换为绝对等于
    })
    console.log(x)

    输出结果为:

    5、reduce()方法

      作用:可以在对项与项进行之间进行相关操作,最后得到一个总和的结果

      参数:(第一个参数(一个函数),第二个参数(初始值)) 

        一个函数的参数(a,i,t,arr1)a :初始值(可以理解为reduce的第二个参数,每次循环的返回结果,给reduce的第二个参数从新赋值)   i :循环的那一项  t :索引  arr1:当前用于循环的数组

    例如:

    var arr = [1,3,5,7,9,11]
    let x = arr.reduce((a,i,t,arr1)=>{
        console.log(a,i,t,arr1)
        return a + i
    },0)
    console.log(x)

    输出结果为:

    也可以利用reduce()方法来返回姓氏等作用

    例如:

    var arr3 = ["王二","李四","小明"]
    let y = arr3.reduce((a,i,t,arr1)=>{
        console.log(a,i,t,arr1)
        return a.concat(i[0])
    },[])
    console.log(y)

    输出结果为:

    6、some()方法

      作用:查找满足条件的项,如果有一个则直接返回true(并不会继续往下执行),否则返回false

      参数:一个函数

      返回值:true/false (如果数组为空,返回false,every函数则返回true)

    例如:

    let arr = ["1","3","5","7","9","11"]
    let x = arr.some((a,i,t)=>{  //a : 代表这一次循环出来的项 ; i : 代表这一次循环出来的相前项的索引; t : 代表的是当前用于循环的数组
        console.log(a,i,t)
        return a == 5  //此处的等于并非绝对等于“===” ,若想完全相同应该换为绝对等于
    })
    console.log(x)

    输出结果为:

    7、every()方法

      作用:查找每一项是否满足条件,如果有一项未满足则返回直接false(并不会继续往下执行),否则返回true

      参数:一个函数

      返回值:true/false (如果数组为空,返回true,some方法则返回false)

    例如:

    let arr = ["1","3","5","7","9","11"]
    let x = arr.some((a,i,t)=>{  //a : 代表这一次循环出来的项 ; i : 代表这一次循环出来的相前项的索引; t : 代表的是当前用于循环的数组
        console.log(a,i,t)
        return a%2 == 1  //此处的等于并非绝对等于“===” ,若想完全相同应该换为绝对等于
    })
    console.log(x)

    输出结果为:

  • 相关阅读:
    bzoj4537: [Hnoi2016]最小公倍数
    bzoj4331: JSOI2012 越狱老虎桥
    bzoj4558: [JLoi2016]方
    bzoj4209: 西瓜王
    bzoj2653: middle
    bzoj4671: 异或图
    bzoj4771: 七彩树
    shell java应用启动脚本(app.sh)
    Springboot 构建http服务,返回的http行是'HTTP/1.1 200' 无状态码描述 客户端解析错误
    MariaDB(Mysql)-主从搭建
  • 原文地址:https://www.cnblogs.com/nie5135257/p/10678034.html
Copyright © 2011-2022 走看看