JavaScript 中的 filter() 方法是一种非常容易理解和实现的方法,我已经涵盖了您需要知道的所有内容。
该filter() 方法创建一个新数组,其中填充了旧数组中通过特定测试的所有元素,作为函数提供。
让我们看一下语法:-
JavaScript
1
让 新 = 数组。过滤器(( v , i , a ) => {
2
// 如果满足条件,则返回新元素
3
// 如果条件不满足则跳过元素
4
});
5
6
// 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
}
6
7
// 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
1
2
3
让 数据 = [
4
{
5
国家: '荷兰' ,
6
人口: 17122267 , 1 ,
7
},
8
{
9
国家:'德国',
10
人口:83694772,
11
},
12
{
13
国家:'英国',
14
人口:67767045,
15
},
16
{
17
国家: '比利时' ,
18
人口:11572813,
19
}
20
];
21
```
```
**那么现在怎么办?**
我们只想为人口少于 5000 万的国家/地区创建一个新数组。为此,我们所要做的就是测试我们的数据并返回真实 id 数据。**人口**小于 50,000,000。
```js```
JavaScript
1
让 smallCountries = 数据。过滤器( v => v .人口 > 50000000 );
2
```
```
仅此一行代码可确保只有较小的国家才能将其作为我们的新阵列。即使我们的数据更复杂,过滤它的过程仍然相对不变。运行我们的过滤器功能后,我们得到了这个:
```js
```
```
JavaScript
1
// 小国家 = [
2
// {国家:“荷兰”,人口:17122267},
3
// {国家:“比利时”,人口:11572813},
4
// ];
5
```
谢谢阅读
**想学习更多知识与技巧点赞三连,关注私信博主哟**