有一个对象
Объект 1
{
1: {
id:1, // id: совпадает с ключом данного объекта, уникальное значение для всех объектов
name: 'test1', // name: слово на латинице и всегда уникально,
value: 1, // значение которое и нужно синхронизировать
...//другие поля
},
2: {
id:2, // id в данном объекте совпадает с ключом данного объекта
name: 'test2',
value: 1,
...//другие поля
}
3: {
id:3, // id в данном объекте совпадает с ключом данного объекта
name: 'test3',
value: 1,
...//другие поля
}
...// объект может содержать до 200 вложенных объектов
}
在程序执行过程中,出现更多这样的对象,这些对象在结构上与给定对象相似,其中可能包含name
前一个对象中已经遇到的字段。例如:
Объект 2
{
50: {
id:50,
name: 'what',
value: 2,
...//другие поля
},
51: {
id:51,
name: 'test1', // данное имя встречалось в "объекте 1"
value: 2,
...//другие поля
}
...//объект может содержать до 200 вложенных объектов
}
Объект 3
{
67: {
id:67,
name: 'test2',
value: 3,
...//другие поля
},
68: {
id:68,
name: 'test4',
value: 3,
...//другие поля
}
...//объект может содержать до 200 вложенных объектов
}
结果:
{
51: {
id:51,
name: 'test1', // данное значение было в "Объекте 1" и "Объекте 2" т.к. "Объекте 2" был взят в цикле позже чем "Объекте 1", то в результирующий взят объект из "Объект 2"
value: 2,
...//другие поля
},
67: {
id:67,
name: 'test2', // из объекта 3
value: 3,
...//другие поля
},
3: {
id:3,
name: 'test3', // из объекта 1
value: 1,
...//другие поля
},
50: {
id:50,
name: 'what', // из объекта 2
value: 2,
...//другие поля
},
68: {
id:68,
name: 'test4', // из объекта 3
value: 3,
...//другие поля
}
... // объект может содержать до 200 вложенных объектов
}
那些。您只需要在该字段中результирующий объект
放置唯一的对象name
。最后一个值取自循环中遇到的对象последним
。对象的排序顺序并不重要。
这个想法很简单:首先将对象添加到字典中,其中字段将是 key
name
,然后将字典转换为结果对象PS 如果源对象中的索引是唯一的,则此代码将起作用
你听说过Object.assign()、Object.entries()、Object.fromEntries()吗?