当前位置:网站首页 > R语言数据分析 > 正文

数组方法filter(数组方法slice)



数组过滤器方法是 JavaScript 中使用最广泛的方法之一。

它允许我们快速过滤出具有特定条件的数组中的元素。

因此,在本文中,您将了解有关过滤器方法及其各种用例的所有内容。

所以让我们开始吧。


看看下面没有使用过滤器方法的代码:

复制
 
   

在上面的代码中,我们正在查找具有我们正在使用方法的名称的所有员工。

for 循环代码看起来很复杂,因为我们需要手动循环数组并将匹配的员工推送到数组中。

但是使用数组过滤方法,我们可以简化上面的代码。

数组过滤方法的语法如下:

复制
 
   

filter 方法不会更改原始数组,但会返回一个新数组,其中包含满足提供的测试条件的所有元素。

filter 方法将回调函数作为第一个参数,并为数组的每个元素执行回调函数。

在回调函数的每次迭代中,每个数组元素值都作为第一个参数传递给回调函数。

使用过滤器方法查看以下代码:

复制
 
   

在这里,使用数组过滤方法,我们不需要手动循环遍历数组,也不需要事先创建数组来过滤掉匹配的员工。

filter 方法接受一个回调函数,数组的每个元素在循环的每次迭代中都作为第一个参数自动传递。

假设我们有以下数字数组:

复制
 
   

而我们想要找出所有大于30的元素,那么我们可以使用如下所示的过滤方法:

复制
 
   

所以在回调函数内部,在循环的第一次迭代中,数组中的第一个元素值 10 将作为参数值传递,并且 10 > 30 为 false,因此数字 10 不会被视为匹配项。

数组过滤方法返回一个数组,因此 10 不大于 30,它不会被添加到数组列表中。

然后在循环的下一次迭代中,数组中的下一个元素 40 将作为参数值传递给回调函数,当 40 > 30 为真时,将被视为匹配并添加到大批。

这将一直持续到数组中的所有元素都没有完成循环。

因此,只要回调函数返回一个值,该元素就不会被添加到过滤后的数组中。filter 方法返回一个数组,该数组仅包含回调函数为其返回值的那些元素。

您可以看到在循环的每次迭代中传递给回调函数的元素的当前值如果将值记录到控制台:

复制
 
   

现在,看看下面的代码:

复制
 
   

在上面的代码中,我们只找出那些值为.

回调函数可以如上所示编写,也可以使用箭头函数如下所示:

复制
 
   

而如果箭头函数中只有一条语句,我们可以跳过return关键字,隐式返回值,如下图:

复制
 
   

上面的代码可以进一步简化为:

复制
 
   

要了解它是如何工作的,请查看我的这篇文章。

除了数组的实际元素外,传递给 filter 方法的回调函数还接​​收以下参数:

  • 我们正在循环的数组中当前元素的
  • 我们循环播放的原版

看看下面的代码:

复制
 
   

正如您在上面看到的,数组过滤器方法对于过滤掉数组中的数据很有用。

但是过滤器方法在一些实际用例中也很有用,例如从数组中删除重复项,分离两个数组之间的公共元素等。

从数组中删除元素

filter 方法最常见的用例是从数组中删除特定元素。

复制
 
   

在这里,我们从名称为 的数组中删除用户。

因此,在回调函数中,我们正在检查保留名称与存储在变量中的名称不匹配的用户的条件。

从数组中查找唯一或重复项

复制
 
   

该方法返回第一个匹配元素的索引,因此,在上面的代码中,我们正在检查我们正在循环的元素的当前索引是否与第一个匹配元素的索引匹配,以找出唯一和重复元素.

查找两个数组之间的不同值

复制
 
   

在这里,我们使用 filter 方法循环,​​在回调函数中,我们正在检查数组是否包含我们使用 array方法循环的当前元素。

如果该元素不匹配,则条件为真,该元素将被添加到数组中。

您还可以使用数组方法来实现相同的功能:

复制
 
   
  • 所有现代浏览器和 Internet Explorer (IE) 版本 9 及更高版本
  • Microsoft Edge 版本 12 及更高版本

谢谢阅读!

到此这篇数组方法filter(数组方法slice)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • vb for循环(vb for循环语句例题及解析)2025-07-10 14:18:09
  • Tornadoes绘本(toes ears nose 绘本)2025-07-10 14:18:09
  • 编译lib文件(libtorch 编译)2025-07-10 14:18:09
  • docker启动文件(docker打开文件)2025-07-10 14:18:09
  • seater英语怎么读(seaturtle英语怎么读)2025-07-10 14:18:09
  • apc和emr哪个更好(apc emr esd)2025-07-10 14:18:09
  • hprof文件分析内存问题(hprof文件用什么打开)2025-07-10 14:18:09
  • no switchport命令(switchport mode trunk命令)2025-07-10 14:18:09
  • 金黄色颜色代码是多少(金色颜色代码rgb)2025-07-10 14:18:09
  • xavier是什么牌子(xavier中文什么意思)2025-07-10 14:18:09
  • 全屏图片