高效數組過濾:根據物件屬性刪除元素
在 JavaScript 中,陣列通常包含複雜的物件。管理這些陣列可能需要根據特定物件屬性有針對性地刪除元素。
問題:
考慮表示過濾條件的物件陣列:
const myArray = [ {field: 'id', operator: 'eq', value: id}, {field: 'cStatus', operator: 'eq', value: cStatus}, {field: 'money', operator: 'eq', value: money} ];
任務是根據其字段屬性從數組中移除特定對象,例如移除以“money”為字段的對象
解決方案:
使用filter()方法是一個有效的解:
myArray = myArray.filter(function(obj) { return obj.field !== 'money'; });
filter()方法建立一個新的包含透過提供的濾波函數的元素的陣列。在這種情況下,篩選器函數對於欄位屬性與「money」不符的物件傳回 true,否則傳回 false。
好處:
注意:
請注意,filter () 建立一個新數組,如果您想更新原始數組,這可能是不合需要的-地方。在這種情況下,您可能需要考慮替代方法。以上是如何根據特定屬性有效率地從 JavaScript 陣列中刪除物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!