JavaScript数组迭代方法

ECMAScript5为数组定义了5个迭代方法。每个方法都有接受两个参数。

  • 第一个参数为在每一项上运行的函数。
  • 第二个(可选)为运行改函数的作用于对象–影响this值。
  • 这些函数会接收三个参数:数组项的值item,该项再数组中位置index,数组对象本身array

    array.数组方法((item,index,array)=>{})

  • every():对数组中的每一项运行给定函数,如果该函数中对每一项都返回true,则返回true

    1
    2
    3
    4
    5
    const arr = [1,2,3,4,5];
    let result = arr.every((item,index,array){
    return item>2 //有一项不符合条件就返回false
    });
    console.log(result) //false
  • filter():对数组中的每一项运行给定函数,返回该函会返回ture的项组成的数组。

    1
    2
    3
    4
    5
    const arr = [1,2,3,4,5]
    let result = arr.filter((item,index,array)=>{
    return item > 2
    });
    console.log(result) // [3,4,5]
  • forEach():对数组中的每一项运行给定函数,这个方法没有返回值。

    1
    2
    3
    4
    let arr = [1,2,3,4,5]
    arr.forEach((item,index,array)=>{
    console.log(item) //一次打印1,2,3,4,5
    })
  • map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

    1
    2
    3
    4
    5
    const arr = [1,2,3];
    let result = arr.map((item,index,array)=>{
    return item*2
    })
    console.log(result) //[2,4,6]
  • some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true

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

!!!以上的方法都不会修改原数组!!!!

关于ES6新增的数组方法,以后更新
0%