Javascript 如何对数组而不是多个参数使用lodash uuz无运算符

Javascript 如何对数组而不是多个参数使用lodash uuz无运算符,javascript,arrays,lodash,Javascript,Arrays,Lodash,我本来希望lodash with函数接受一个值数组,但它接受多个参数。如何传递数组并使其工作 例如: var bar = { foo: ['a', 'b', 'c'] }; _.without(bar.foo, 'c', 'a'); // works; _.without(bar.foo, ['c', 'a']); // doesn't work 我的排除列表必须作为数组或变量传入,因此了解如何使用带有with函数的数组会很有用。您可以使用 var条={ foo:['a','b'

我本来希望lodash with函数接受一个值数组,但它接受多个参数。如何传递数组并使其工作

例如:

var bar = {
    foo: ['a', 'b', 'c']
};


_.without(bar.foo, 'c', 'a'); // works;
_.without(bar.foo, ['c', 'a']); // doesn't work
我的排除列表必须作为数组或变量传入,因此了解如何使用带有with函数的数组会很有用。

您可以使用

var条={
foo:['a','b','c']
};
console.log(0.without.apply(0,[bar.foo].concat(['c','a']))

如果您所在的环境中可以使用,
..
,则

.without(bar.foo, ...['c', 'a']);

在本例中,您可以按原样使用值数组,如下所示

console.log(_.difference(bar.foo, ['a', 'c']));
[ 'b' ]

可以使用扩展运算符

var bar = {
    foo: ['a', 'b', 'c']
};

var arr = ['c', 'a'];

console.log(_.without([bar.foo], ...arr) ;

这可能是做我需要的更好的方法,但我接受了亚历山大的答案,因为它是针对确切的问题的。然而,我将在我的实际项目中使用您的解决方案。谢谢2年前答案的直接副本:-1