Javascript中有许多内置函数,filter() 是其中之一。它的作用是从一个数组中筛选出符合条件的元素并返回一个新数组。
filter() 的语法如下:
array.filter(function(currentValue, index, arr), thisValue)
参数说明:
filter() 方法接受一个函数作为参数,该函数接受三个参数:当前元素,当前元素的索引和整个数组。函数必须返回一个布尔值,表示当前元素是否符合条件。如果返回 true,则该元素将被保留在新数组中,反之则会被过滤掉。
让我们看一个例子,假设有一个数组存储了 1 到 10 的整数。
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
现在我们要从中筛选出所有大于等于 5 的元素。可以通过 filter() 方法来实现:
const result = numbers.filter(function(number) { return number >= 5; }); console.log(result); // 输出 [5, 6, 7, 8, 9, 10]
上述代码中,filter() 函数接收一个返回值为 true 或 false 的函数。在这个函数中,如果当前元素大于等于 5,则返回 true。反之,如果当前元素小于 5,则返回 false。最终,保留了符合条件的元素,即大于等于 5 的元素,以一个新数组的形式返回。
除了定义一个函数之外,还可以使用箭头函数简写:
const result = numbers.filter(number => number >= 5); console.log(result); // 输出 [5, 6, 7, 8, 9, 10]
filter() 方法也可以用于数组中的对象。假设有一个存储了多个人信息的数组。
const people = [ { name: 'Lucas', age: 25 }, { name: 'Emma', age: 21 }, { name: 'Tom', age: 30 }, { name: 'Jane', age: 18 }, ];
现在我们要筛选出年龄大于等于 25 的人。可以通过 filter() 方法来实现:
const result = people.filter(function(person) { return person.age >= 25; }); console.log(result); // 输出 [{ name: 'Lucas', age: 25 }, { name: 'Tom', age: 30 }]
同样的,我们也可以使用箭头函数简写:
const result = people.filter(person => person.age >= 25); console.log(result); // 输出 [{ name: 'Lucas', age: 25 }, { name: 'Tom', age: 30 }]
在实际开发中,filter() 方法常用于筛选符合条件的数据,如搜索、过滤、分类等场景中。其简单易用,且可以快速实现数组元素的筛选,可以说是开发中不可或缺的方法之一。
以上是javascript filter实现的详细内容。更多信息请关注PHP中文网其他相关文章!