我有一个这样的数组:
var array = [1,20,50,60,78,90];
var id = 50;
如何从数组中删除id并返回一个新数组中没有id值的新数组?
答案 0 :(得分:42)
对于复杂的解决方案,您可以使用方法_.reject()
,这样就可以将自定义逻辑放入回调中:
var removeValue = function(array, id) {
return _.reject(array, function(item) {
return item === id; // or some complex logic
});
};
var array = [1, 20, 50, 60, 78, 90];
var id = 50;
console.log(removeValue(array, id));
对于简单的情况,请使用更方便的方法_.without()
:
var array = [1, 20, 50, 60, 78, 90];
var id = 50;
console.log(_.without(array, id));
答案 1 :(得分:14)
var array = [1,20,50,60,78,90];
var id = 50;
var result = _.filter(array, function(x) { return x != id });
答案 2 :(得分:0)
您可以使用拼接,但它不是下划线的API:
arrayObject.splice(index,howmany,item1,.....,itemX)
在你的例子中:
var index = _.indexOf(array, id);
array.splice(index, 1);