介绍
的filter()
阵列方法创建与下从现有的阵列的给定条件落入元素的数组:
var numbers = [1, 3, 6, 8, 11];
var lucky = numbers.filter(function(number) {
return number > 7;
});
// [ 8, 11 ]
上面的示例采用numbers
数组并返回一个新的过滤数组,其中仅包含大于 7 的值。
过滤器语法
var newArray = array.filter(function(item) {
return condition;
});
的项目参数是作为过滤器()检查到当前元素的引用数组中它抵靠状态。在对象的情况下,这对于访问属性很有用。
如果当前项通过条件,则将其发送到新数组。
过滤对象数组
.filter() 的一个常见用例是通过对象的属性使用对象数组:
var heroes = [
{name: “Batman”, franchise: “DC”},
{name: “Ironman”, franchise: “Marvel”},
{name: “Thor”, franchise: “Marvel”},
{name: “Superman”, franchise: “DC”}
];
var marvelHeroes = heroes.filter(function(hero) {
return hero.franchise == “Marvel”;
});
// [ {name: “Ironman”, franchise: “Marvel”}, {name: “Thor”, franchise: “Marvel”} ]
其他资源
有关更多详细信息,filter()
请参阅MDN 参考。
Filter 只是JavaScript 中数组的几种迭代方法之一,阅读如何在 JavaScript 中使用数组迭代方法以了解其他方法,如map()
和reduce()
。