与下划线相反 ._without(array, value)
Opposite of underscore ._without(array, value)
查看 underscore array methods,我看不出我想要完成什么。
这将从数组中删除 0
和 1
:
_.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
=> [2, 3, 4]
如果我只需要 0
和 1
怎么办?
=> [1, 1, 0 ,1]
Underscorde 会让我写更少的 javascript 代码。
清晰度:
例如,如果 0, 1
在数组中,则保留 1
和 0
的所有值。
underscore
方式
var zerosones = _.filter([1, 2, 1, 0, 3, 1, 4], function(num){
return (num === 0 || num === 1);
});
=> [1, 1, 0, 1]
使用_.filter方法
没有 underscore
( es5
) 你可以使用 Array#filter with a pretty good compatibility
var completeArray = [1, 2, 1, 0, 3, 1, 4];
completeArray = completeArray.filter(function(value){
return (value === 1 || value === 0)
});
console.log(completeArray); //[1, 1, 0, 1]
这是我发现的:
var allArray = [1, 2, 1, 0, 3, 1, 4];
var leaveOnly = [1, 0];
var result = _.filter(allArray, _.partial(_.contains, leaveOnly)); // [1, 1, 0, 1]
_.filter
, _.contains
, _.partial
JSFiddle:https://jsfiddle.net/eeLcrmvt/
如果你打算经常使用它,你可以创建一个 mixin:
_.mixin({
filterOut: function(arr, leave) {
return _.filter(arr, _.partial(_.contains, leave))
}
});
var result = _.filterOut([ 1, 2, 0, 1, 4, 3, 1 ], [ 0, 1 ]);
console.log(result); // [ 1, 0, 1, 1 ]
我找到的最简单的 underscore
方法是:
var arr = [1, 2, 1, 0, 3, 1, 4];
console.log(_.difference(arr, _.without(arr, 1, 0)));
或者如果您的参数在数组中:
console.log(_.difference(arr, _.difference(arr, [1, 0])));
查看 underscore array methods,我看不出我想要完成什么。
这将从数组中删除 0
和 1
:
_.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
=> [2, 3, 4]
如果我只需要 0
和 1
怎么办?
=> [1, 1, 0 ,1]
Underscorde 会让我写更少的 javascript 代码。
清晰度:
例如,如果 0, 1
在数组中,则保留 1
和 0
的所有值。
underscore
方式
var zerosones = _.filter([1, 2, 1, 0, 3, 1, 4], function(num){
return (num === 0 || num === 1);
});
=> [1, 1, 0, 1]
使用_.filter方法
没有 underscore
( es5
) 你可以使用 Array#filter with a pretty good compatibility
var completeArray = [1, 2, 1, 0, 3, 1, 4];
completeArray = completeArray.filter(function(value){
return (value === 1 || value === 0)
});
console.log(completeArray); //[1, 1, 0, 1]
这是我发现的:
var allArray = [1, 2, 1, 0, 3, 1, 4];
var leaveOnly = [1, 0];
var result = _.filter(allArray, _.partial(_.contains, leaveOnly)); // [1, 1, 0, 1]
_.filter
, _.contains
, _.partial
JSFiddle:https://jsfiddle.net/eeLcrmvt/
如果你打算经常使用它,你可以创建一个 mixin:
_.mixin({
filterOut: function(arr, leave) {
return _.filter(arr, _.partial(_.contains, leave))
}
});
var result = _.filterOut([ 1, 2, 0, 1, 4, 3, 1 ], [ 0, 1 ]);
console.log(result); // [ 1, 0, 1, 1 ]
我找到的最简单的 underscore
方法是:
var arr = [1, 2, 1, 0, 3, 1, 4];
console.log(_.difference(arr, _.without(arr, 1, 0)));
或者如果您的参数在数组中:
console.log(_.difference(arr, _.difference(arr, [1, 0])));