underscore.js 有两个数组

underscore.js with two arrays

我有以下数组:

['aaa', 'bbb', 'ccc', 'ddd']

我的目标是从中删除意外值:

我尝试使用下划线 without 函数来实现,如下所示:

_.without(['aaa', 'bbb', 'ccc', 'ddd'], 'bbb', 'ccc');

它工作正常,但不幸的是它不适用于数组:

_.without(['aaa', 'bbb', 'ccc', 'ddd'], ['bbb', 'ccc']);

我用谷歌搜索了一下,找到了 post underscore.js - Is there a function that produces an array thats the difference of two arrays?

但在我的情况下,这个也不起作用,即 returns 类似的东西:

"a","a","a"

当我厌倦了使用应用功能时。

有人可以建议需要做什么来删除数组中所有意外的键吗?

你试过了吗_.difference

_.difference(['aaa', 'bbb', 'ccc', 'ddd'], ['bbb', 'ccc']);

为了完整起见,这就是 _.without 可以做到的:

var source = ['aaa', 'bbb', 'ccc', 'ddd'];
var blacklist = ['bbb', 'ddd'];
var without = _.without.apply(_, [source].concat(blacklist));