使用本機 JavaScript 透過物件屬性從陣列中刪除物件
使用物件陣列時,可以根據屬性刪除特定物件基本的。然而,由於數組長度遞減,簡單地使用 splice() 可能會導致複雜化。以下是如何使用本機JavaScript 技術克服此問題:
刪除後遞減i:
要透過拼接修復問題,請在每次刪除後遞減i 以考慮到移位索引。這可以防止跳過數組元素並確保刪除所有目標物件。
for (var i = 0; i <p><strong>重寫陣列元素:</strong></p><p>為了避免線性時間刪除,您可以只重寫您想要保留在陣列上的元素。 </p><pre class="brush:php;toolbar:false">var end = 0; for (var i = 0; i <p><strong>使用雜湊集:</strong></p><p>為了更快地查找,請使用雜湊集來儲存 ID要刪除的物件。 </p><pre class="brush:php;toolbar:false">const setToDelete = new Set(listToDelete); let end = 0; for (let i = 0; i <p><strong>可重複使用函數:</strong></p><p>將此邏輯包裝到可重複使用函數中以方便使用。 </p><pre class="brush:php;toolbar:false">const filterInPlace = (array, predicate) => { let end = 0; for (let i = 0; i !toDelete.has(obj.id));
以上是如何在 JavaScript 中根據屬性有效率地從陣列中刪除物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!