使用本机 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中文网其他相关文章!