2017-02-24 43 views
-2

我想通过使用lodash的remove速记函数从字符串数组中删除一个元素,但它会从数组中删除所有元素。lodash速记功能不能正常工作

var arr = ['one', 'two', 'three'] 

然后我尝试删除一个元素与

var num = 'two'; 
_.remove(arr, num); 

但它移除所有元素。当我使用回调函数,如

_.remove(arr, function(o){ 
    return o === num 
}); 

有没有人可以帮我找出这个问题吗?

+1

为'.remove'是返回truthy值和JS谓语二ARG' “二”'是truthy – Rajesh

回答

1
var arr = ['one', 'two', 'three']; 
var num = 'two'; 
_.pull(arr, num); 

_.pull可能是你在找什么。该函数将使用第二个参数(列表或单个值)作为过滤器从数组中移除元素。它既改变数组又返回一个新的数组。

Relevant lodash doc