В моем коде у меня есть два массива, первый из которых содержит несколько объектов. Второй - хранить данные сериализованной формы (сопоставленные с JSON). Таким образом, оба массива имеют одинаковые ключи.
Чего я хочу добиться, это динамически обновлять значения объекта в исходном массиве на основе значений объекта в новом массиве по идентификатору в объекте.
Нашел несколько примеров в интернете, но сложно заставить их работать. Потому что большинство из них показывает один уровень объектов, но я работаю над сложными вложенными объектами в массиве.
var products = [
{
Id: 1,
Name: 'Product1',
Attributes: {
Storage: 'Normal',
Size: 'Small'
}
},
{
Id: 2,
Name: 'Product2',
Attributes: {
Storage: 'Normal',
Size: 'Small'
}
}
];
var newData = [
{
Id: 2,
Name: 'French Fries'
},
{
Id: 1,
Attributes: {
Size: 'Medium'
}
}
];
Ожидаемый результат - массив products
, теперь обновленный значениями из второго массива.
Output:
[
{
Id: 1,
Name: 'Product1',
Attributes: {
Storage: 'Normal',
Size: 'Medium'
}
},
{
Id: 2,
Name: 'French Fries',
Attributes: {
Storage: 'Normal',
Size: 'Small'
}
}
]