У меня есть массив, полный объектов. Почти все объекты имеют разное количество пар ключ-значение. Некоторые из этих объектов имеют одинаковые пары ключ-значение.
Есть ли хороший способ удалить все дубликаты подобъектов? (sub-object-duplicate = и объект, чьи all пары ключ-значение могут быть найдены в другом объекте.)
В приведенном ниже примере, например, он удалит все промежуточные объекты и оставиттолько первый и последний.
Заранее большое спасибо:)
Самое близкое, что я получил, это использование из здесь , но я не знаю, как добавитьесли условие проверять только свойство, если оно существует.
Уникальный по нескольким свойствам (идентификатор и имя)
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",
}
}
]