一尘不染

如何从另一个数组的所有元素中过滤一个数组

javascript

我想了解 从另一个数组的所有元素过滤数组 的最佳方法。我尝试使用过滤器功能,但是如何给它提供要删除的值并没有解决。
就像是:

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 <,< 
}

如果过滤器功能没有用,您将如何实现呢?
编辑:我检查了可能重复的问题,它可能对那些容易理解javascript的人有用。选中的答案很容易。


阅读 581

收藏
2020-05-01

共1个答案

一尘不染

您可以使用函数的this参数filter()来避免将过滤器数组存储在全局变量中。

var filtered = [1, 2, 3, 4].filter(

    function(e) {

      return this.indexOf(e) < 0;

    },

    [2, 4]

);

console.log(filtered);
2020-05-01