文章目录
filter 方法创建一个数组,其中包含所有的通过回调函数的数组中的元素。
语法:arr.filter(callback(currentEle[,index[,aray]])[,thisArg])
callback:为数组中每个元素执行的回调函数,该函数最多接收三个参数。
currentEle:正在执行回调函数的元素
index:(可选)正在执行回调函数的元素的下标
array:(可选)执行回调函数的数组
thisArg:执行回调函数时,用于this的值
返回值:一个新的,由通过回调函数测试的元素组成的数组。如果没有任何元素通过测试,则返回空数组。
const arr = ['red', 'green', 'blue', 'gray', 'pink', 'yellow']
const result = arr.filter((item) => item.indexOf('e') !== -1)
result // ['red', 'green', 'blue', 'yellow']
filter不会改变原数组,它返回过滤后的新数组。
filter为数组中的每一个元素调用一次callback函数,并利用所有使得callback返回true或等价于true的值的元素组成一个新的数组。
callback只会对那些已经赋值的元素进行调用,对于那些已删除或未赋值的元素不会被调用。那些没有通过callback过滤的元素会被跳过,不会被包含在新数组中。