如何在没有运算符的情况下将 lodash _ 与数组而不是多个参数一起使用
how to use lodash _ without operator with an array rather than multiple args
我原以为没有函数的 lodash 会接受一个值数组,但却接受了多个参数。我如何向它传递一个数组并使其工作。
示例:
var bar = {
foo: ['a', 'b', 'c']
};
_.without(bar.foo, 'c', 'a'); // works;
_.without(bar.foo, ['c', 'a']); // doesn't work
我的排除列表必须作为数组或变量传入,因此了解如何使用带有 without 函数的数组会很有用。
您可以使用.apply
var bar = {
foo: ['a', 'b', 'c']
};
console.log(_.without.apply(_, [bar.foo].concat(['c', 'a'])));
<script src="https://rawgit.com/lodash/lodash/3.0.1/lodash.min.js"></script>
如果您所处的环境可以使用 ES6 spread operator、...
,那么
.without(bar.foo, ...['c', 'a']);
在这种情况下,您可以按原样使用值数组,_.difference
,像这样
console.log(_.difference(bar.foo, ['a', 'c']));
[ 'b' ]
可以使用展开运算符
var bar = {
foo: ['a', 'b', 'c']
};
var arr = ['c', 'a'];
console.log(_.without([bar.foo], ...arr) ;
我原以为没有函数的 lodash 会接受一个值数组,但却接受了多个参数。我如何向它传递一个数组并使其工作。
示例:
var bar = {
foo: ['a', 'b', 'c']
};
_.without(bar.foo, 'c', 'a'); // works;
_.without(bar.foo, ['c', 'a']); // doesn't work
我的排除列表必须作为数组或变量传入,因此了解如何使用带有 without 函数的数组会很有用。
您可以使用.apply
var bar = {
foo: ['a', 'b', 'c']
};
console.log(_.without.apply(_, [bar.foo].concat(['c', 'a'])));
<script src="https://rawgit.com/lodash/lodash/3.0.1/lodash.min.js"></script>
如果您所处的环境可以使用 ES6 spread operator、...
,那么
.without(bar.foo, ...['c', 'a']);
在这种情况下,您可以按原样使用值数组,_.difference
,像这样
console.log(_.difference(bar.foo, ['a', 'c']));
[ 'b' ]
可以使用展开运算符
var bar = {
foo: ['a', 'b', 'c']
};
var arr = ['c', 'a'];
console.log(_.without([bar.foo], ...arr) ;