Здесь я отображаю данные из API и соединяю ключи от объекта в локальном хранилище, который имеет тот же идентификатор, что и текущий объект из API.
api.map((obj) => ({ ...obj, ...ls.find(({membership: {id}}) => id === obj.id)}))
Есть две вещи, которые вы должны посмотрите, если вы не знаете о них. Object Deconstruction
и Spread Operator
. Кроме того, у нас есть map
и find
, на которые стоит обратить внимание.
Вот полный рабочий пример:
const ls = [{
autoRenew: true,
discount: 0,
expiryDate: "2021-05-03T00:00:00",
id: "3807760AVVTBVCNPQVDKKCGMRBLGLCGRP",
isRenewal: false,
membership: {
id: "7ALGBGVBCLVTGKNVNRTJPVKGBSPNGQPMK",
},
price: 47,
startDate: "2020-05-04T00:00:00",
total: 47,
}]
const api = [{
attribute_Type: "Patrons",
description: "Patrons",
id: "7ALGBGVBCLVTGKNVNRTJPVKGBSPNGQPMK",
imageUrl: "",
name: "Patrons",
thumbnailUrl: "",
}]
console.log(
api.map((obj) => ({apiID: obj.id, ...obj,
...ls.find(({
membership: {id}
}) => id === obj.id)
}))
)
Но вы, конечно, можете сделать это и наоборот.
const ls = [{
autoRenew: true,
discount: 0,
expiryDate: "2021-05-03T00:00:00",
id: "3807760AVVTBVCNPQVDKKCGMRBLGLCGRP",
isRenewal: false,
membership: {
id: "7ALGBGVBCLVTGKNVNRTJPVKGBSPNGQPMK",
},
price: 47,
startDate: "2020-05-04T00:00:00",
total: 47,
}]
let api = [{
attribute_Type: "Patrons",
description: "Patrons",
id: "7ALGBGVBCLVTGKNVNRTJPVKGBSPNGQPMK",
imageUrl: "",
name: "Patrons",
thumbnailUrl: "",
}]
console.log(
ls.map((obj) => ({basketID: obj.id, ...obj,
...api.find(({
id
}) => id === obj.membership.id)
}))
)