【发布时间】:2016-08-21 23:15:21
【问题描述】:
我正在查看 remove() 的 lodash 文档,但不知道如何使用它。
假设我有一堆朋友,
[{ friend_id: 3, friend_name: 'Jim' }, { friend_id: 14, friend_name: 'Selma' }]
如何从好友数组中删除friend_id: 14?
【问题讨论】:
标签: javascript arrays lodash
我正在查看 remove() 的 lodash 文档,但不知道如何使用它。
假设我有一堆朋友,
[{ friend_id: 3, friend_name: 'Jim' }, { friend_id: 14, friend_name: 'Selma' }]
如何从好友数组中删除friend_id: 14?
【问题讨论】:
标签: javascript arrays lodash
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); // prints [{"friend_id":3,"friend_name":"Jim"}]
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.js"></script>
【讨论】:
你可以使用过滤器。
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; });
【讨论】:
return assign({}, state, { items: filter(state.items, {id: action.payload.id}) });
你也可以这样做
list.splice(_.findKey(this.list, function(e) {
return e.id === 12;
}), 1);
【讨论】: