首页 > web前端 > js教程 > 正文

如何在 JavaScript 中从另一个数组的元素中过滤一个数组?

Susan Sarandon
发布: 2024-11-17 11:11:02
原创
876 人浏览过

How to Filter an Array from Elements of Another Array in JavaScript?

使用过滤函数过滤数组

从另一个数组的所有元素中过滤一个数组是一项常见的编程任务。在 JavaScript 中,通常使用 .filter() 函数来完成此操作。但是,了解如何向函数提供要删除的值可能具有挑战性。

考虑以下场景:

var array = [1,2,3,4];
var anotherOne = [2,4];
var filteredArray = array.filter(myCallback);
// filteredArray should now be [1,3]


function myCallBack(){
    return element ! filteredArray; 
    //which clearly can't work since we don't have the reference <,< 
}
登录后复制

在上面的示例中,myCallBack 函数尝试返回一个元素过滤后的数组中不存在,但此逻辑不起作用,因为调用该函数时,filteredArray 尚未定义。

使用过滤函数

使用过滤数组filter() 函数中,应该传递一个回调函数,该函数对于应包含在过滤数组中的元素返回 true,对于应删除的元素返回 false。然后,通过将回调函数应用于原始数组的每个元素来创建过滤后的数组。

在从另一个数组的所有元素中过滤一个数组的情况下,可以简化回调函数,如下所示以下代码:

var arr1 = [1,2,3,4],
    arr2 = [2,4],
    res = arr1.filter(item => !arr2.includes(item));
console.log(res); // Output: [1,3]
登录后复制

这里,filter() 函数迭代 arr1 并为每个元素调用回调函数。回调函数,item => !arr2.includes(item),对于 arr2 中不存在的元素返回 true,否则返回 false。结果,过滤后的数组 res 只包含 arr2 中不存在的元素 [1,3]。

以上是如何在 JavaScript 中从另一个数组的元素中过滤一个数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板