filter()数组遍历

filter() 方法对源数组的每个元素判断。返回符合要求的元素,并将他们组成一个新的数组

特性

1、filter()不会改变源数组

2、filter()返回新数组

语法:

arr.filter(callback(currentValue [, index [, array]])[, thisArg])

参数:

arr.filter()有三个参数,分别是:

1、arr:被遍历的数组

2、callback(currentValue,index,array){句柄}:回调函数,该回调函数接受三个参数:

  A、currentValue:遍历到的当前元素

  B、index:为currentValue的索引

  C、array:被遍历的数组

3、thisArg:指代遍历中this的值

示例:

   let arr = [1, 2,3]
    let newArr=arr.filter(function (currentValue, index, ar) {
        console.log(currentValue);//遍历打印1,2,3
        console.log(index);//遍历打印0,1,2
        console.log(ar);//遍历打印三次[1, 2, 3]
        console.log(this)//String {"我就是this的值"};遍历打印三次
        return ar[index]>2
      }, "我就是this的值")
      //输出
      console.log(arr);//[1, 2,3]     未改变源数组
      console.log(newArr);//[3]       返回新数组
原文地址:https://www.cnblogs.com/vinson-blog/p/13022079.html