【发布时间】:2018-05-30 00:08:16
【问题描述】:
基本上我想知道如何在 JavaScript 中清理对象数组。
我已经看到一些示例显示如何根据一个元素的值来执行此操作,我需要它是通用的。这意味着它不依赖于孩子的名字。
Example of the way i don't want
我需要的是一个可以独立于对象结构工作的函数。
例如,它可以与这个一起工作:
object = [
{value: 'value', configuration: 'configuration'},
{value: 'value2', configuration: 'configuration2'},
{value: 'value', configuration: 'configuration'},
]
//returning:
object = {
{value: 'value', configuration: 'configuration'},
{value: 'value2', configuration: 'configuration2'}
}
它也可以用于:
object = [
{name: 'name', property: 'property'},
{name: 'name2', property: 'property2'},
{name: 'name', property: 'property'},
]
//returning:
object = [
{name: 'name', property: 'property'},
{name: 'name2', property: 'property2'}
]
【问题讨论】:
-
有多种删除重复项的方法,其时间和空间复杂度各不相同
-
对象可以包含各种类型的嵌套对象(地图、集合、日期、您自己的类实例、函数、正则表达式、HTML DOM 节点,...),并具有循环引用(具有父对象作为属性值;或对父对象/数组中另一个对象的交叉引用)。在这种情况下,您认为重复的内容变得非常模糊。请为您的问题提供明确的界限。您的第一段还谈到了对象数组,但代码示例使用了无效的语法。
-
您的对象是否只包含字符串、数字、数组、对象、布尔值?没有功能和日期?
-
仅供参考,您的代码不包含有效语法。那些
object = {...}应该是对象数组吗? -
@CoryDanielson 它将包含对象...感谢您的更正。
标签: javascript arrays object filter