JS Array.filter()方法过滤数组元素,语法及参数

Array.filter()方法

JavaScript内置的数组方法filter()可用于遍历调用对象数组,并过滤掉数组内的一些不符合回调函数指定条件的元素,并利用符合条件的元素组件一个新的数组。


filter()语法及回调函数参数

arr.filter( func, thisValue )

提示:filter()方法不会改变原数组;不会对空的数组进行检测。

提示:thisValue参数是可选的,可传递给回调函数func,用作this的值,默认为undefined。


filter()回调函数结构

func( value, index, array )

参数解析表:

参数描述
value调用filter()方法的数组中的元素值
index可选,调用对象数组中的索引
array可选,调用对象数组本身

filter()实例代码,及在线编辑器

<script>
  var arr1 = [1,3,5,7,9]
  function func(value, index ,array){ //该回调函数中,有三个参数,只需用了value一个
    return value + this >= 6
  }
  var arr2 = arr1.filter(func, 1) //其中参数1为this的值
  var t = arr2 instanceof Array
  alert(arr2+'  arr2是不是数组:'+ t)
  alert(arr1) // arr1的值并没有改变
</script>

实例代码解析

如上代码,基本逻辑是这样的,设计一个回调函数func,在filter()遍历数组的过程中,用于筛选出“值+1(this的值)”大于等于6的元素,并组建成一个新的数组,arr2 instanceof Array用于判断arr2的类型是否为数组。



全栈前端 / JavaScript语法 :





















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.