3
我正在查看remove()
的lodash文檔,我不知道如何使用它。Lodash刪除從基於ID屬性的陣列中刪除對象
說我有朋友的數組,
[{ friend_id: 3, friend_name: 'Jim' }, { friend_id: 14, friend_name: 'Selma' }]
如何從朋友的數組中刪除friend_id: 14
?
我正在查看remove()
的lodash文檔,我不知道如何使用它。Lodash刪除從基於ID屬性的陣列中刪除對象
說我有朋友的數組,
[{ friend_id: 3, friend_name: 'Jim' }, { friend_id: 14, friend_name: 'Selma' }]
如何從朋友的數組中刪除friend_id: 14
?
您可以使用過濾器。
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; });
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>
啊。你怎麼知道是使用過濾器還是刪除?對不起,如果這是一個非常基本的問題.. – user6701863
這只是個人喜好。對我來說,刪除是愚蠢的,因爲它會改變你的數組,PLUS是返回一個數組,其中刪除的值,其中過濾器只是返回過濾的值。 – Scottie
哦,好的。你認爲這有意義嗎?我正在使用lodash來處理ngrx/store,如下所示:'return assign({},state,{ items:filter(state.items,{id:action.payload.id}) }); – user6701863