2016-08-21 132 views

回答

3

您可以使用过滤器。

var myArray = [1, 2, 3]; 

var oneAndThree = _.filter(myArray, function(x) { return x !== 2; }); 

console.log(allButThisOne); // Should contain 1 and 3. 

编辑:针对您的特殊代码,使用:

friends = _.filter(friends, function (f) { return f.friend_id !== 14; }); 
+0

啊。你怎么知道是使用过滤器还是删除?对不起,如果这是一个非常基本的问题.. – user6701863

+0

这只是个人喜好。对我来说,删除是愚蠢的,因为它会改变你的数组,PLUS是返回一个数组,其中删除的值,其中过滤器只是返回过滤的值。 – Scottie

+0

哦,好的。你认为这有意义吗?我正在使用lodash来处理ngrx/store,如下所示:'return assign({},state,{ items:filter(state.items,{id:action.payload.id}) }); – user6701863

2

Remove使用断言功能。见例如:

var friends = [{ friend_id: 3, friend_name: 'Jim' }, { friend_id: 14, friend_name: 'Selma' }]; 
 

 
_.remove(friends, friend => friend.friend_id === 14); 
 

 
console.log(friends);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.js"></script>