什么是 JavaScript 中的 filter() 方法

178 阅读2分钟

JavaScript 中的 filter() 方法是一种非常容易理解和实现的方法,我已经涵盖了您需要知道的所有内容。

filter() 方法创建一个新数组,其中填充了旧数组中通过特定测试的所有元素,作为函数提供。

让我们看一下语法:-

JavaScript
1
让 新 = 数组。过滤器(( v , i , a ) => {
2
   // 如果满足条件,则返回新元素
3
  // 如果条件不满足则跳过元素
4
  });
56
// new - 返回的数组
7
// 数组 - 运行过滤器函数的数组
8
// v - 正在处理的当前值
9
// i - 正在处理的值的当前索引
10
// a - 原始数组
11```
````filter()` 方法可以被认为是一个循环,专门用于从数组中过滤入/出某些值。请参阅下面的示例:-


```js```
JavaScript
1
让 nums  = [ 11 , 12 , 13 , 14 , 15 , 16 ];
2
让 evenNums  = [];
3
for ( var  i  =  0 ; i  <  nums .长度; i ++ ) {
4
   if ( nums [ i ] %  2  ===  0 ) evenNums。推(数字[我]);
5
}
67
// evenNums = [12,14,16]
8
```
```
此代码测试 nums 数组中的所有值。仅接受偶数值并将其推送到 evenNums 数组。是的,它有效,但有一种更简单的方法可以达到相同的结果。

使用方法重写之前的函数`filter()````js```
JavaScript
1
让 nums  = [ 11 , 12 , 13 , 14 , 15 , 16 ];
2
让 evenNums  =  nums。过滤器(值 => 值 %  2  ===  0);
3
   // evenNums = [12,14,16]
4
```
```
**看看吧。没有任何循环。**

并且使用箭头函数,我们有一个漂亮而干净的函数来创建相同的数组。因为我们只使用值,所以我们只将它传递给`filter()`方法。

现在我们将看到一个使用对象数组的更复杂的示例。以下是我们将用于示例的数据。

```js```
JavaScript
123
让 数据 = [
4
{
5
    国家: '荷兰' ,
6
    人口: 17122267 , 1 ,  
7
},
8
{  
9
  国家:'德国'10
    人口:8369477211
},
12
{  
13
  国家:'英国'14
    人口:6776704515
},  
16
{
17
    国家: '比利时' ,
18
    人口:1157281319
    }
20
];
21```
```
**那么现在怎么办?**

我们只想为人口少于 5000 万的国家/地区创建一个新数组。为此,我们所要做的就是测试我们的数据并返回真实 id 数据。**人口**小于 50,000,000```js```
JavaScript
1
让 smallCountries  = 数据。过滤器( v  =>  v .人口 >  50000000 );
2```
```
仅此一行代码可确保只有较小的国家才能将其作为我们的新阵列。即使我们的数据更复杂,过滤它的过程仍然相对不变。运行我们的过滤器功能后,我们得到了这个:

```js
```
```
JavaScript
1
// 小国家 = [
2
// {国家:“荷兰”,人口:17122267},
3
// {国家:“比利时”,人口:11572813},
4
// ];
5
```
谢谢阅读

**想学习更多知识与技巧点赞三连,关注私信博主哟**