我有一个满是物体的阵列。几乎所有对象都有不同数量的键-值对。其中一些对象具有相同的键值对。
有没有一个很好的方法来删除所有的子对象副本?(子对象复制=和
全部的
可以在另一个对象中找到键值对。)
例如,在下面的示例中,它将删除所有中间对象,只保留第一个和最后一个对象。
非常感谢:)
我最接近的是从
here
,但我不知道如何添加if条件,以便只检查属性是否存在。
由多个属性(id和名称)唯一
arr.filter((v,i,a)=>a.findIndex(t=>(t.id === v.id && t.name===v.name))===i)
输入
input = [
{
"key0": {
"key1": "value1",
"key2": "value1",
"key3": "value1",
"key4": "value1",
"key5": "value1"
}
},
{
"key0": {
"key1": "value1",
"key3": "value1",
"key5": "value1"
}
},
{
"key0": {
"key1": "value1",
"key2": "value1",
"key3": "value1"
}
},
{
"key0": {
"key1": "value1",
"key2": "value1",
"key5": "value1"
}
},
{
"key0": {
"key1": "value1",
"key2": "value2",
"key3": "value2",
"key4": "value2",
"key5": "value2",
"key6": "value2"
},
{
"key0": {
"key1": "value2",
"key2": "value2",
"key3": "value2",
"key4": "value2",
"key5": "value2",
"key6": "value2"
}
}
]
预期产量
output = [
{
"key0": {
"key1": "value1",
"key2": "value1",
"key3": "value1",
"key4": "value1",
"key5": "value1"
}
},
{
"key0": {
"key1": "value2",
"key2": "value2",
"key3": "value2",
"key4": "value2",
"key5": "value2",
"key6": "value2",
}
}
]