高效删除数组对象属性
使用传统循环从数组中的对象中消除特定属性可能会很麻烦。为了简化这个过程,让我们探索一种基于 ES6 解构的更高效的方法。
原始 For 循环方法
传统方法涉及使用 for 循环来迭代每个对象并手动删除有问题的属性:
var array = [{"bad": "something", "good":"something"},{"bad":"something", "good":"something"},...]; for (var i = 0, len = array.length; i < len; i++) { delete array[i].bad; }
虽然有效,但此方法很冗长并且容易出错。
ES6 解构来救援
ES6 引入了一种方便的方法来解构对象并有选择地仅保留所需的属性。使用展开运算符(“...”),我们可以提取除要删除的属性之外的所有属性:
const newArray = array.map(({dropAttr1, dropAttr2, ...keepAttrs}) => keepAttrs)
在这种情况下,我们创建一个名为 newArray 的新数组。 map() 函数迭代原始数组,对于每个对象,它将其解构为具有除 dropAttr1 和 dropAttr2 之外的所有属性的新对象。剩余的属性将收集到 keepAttrs 对象中。
通过依赖解构而不是循环,您可以简化代码、提高可读性并确保属性删除的一致性。
以上是如何使用 ES6 解构高效删除数组对象属性?的详细内容。更多信息请关注PHP中文网其他相关文章!