【发布时间】:2020-08-24 12:18:19
【问题描述】:
我有两个数据集并一直在尝试将它们组合起来,但不知道从哪里开始。我正在进行两个 API 调用,下面是一个响应的小示例:
{
early_game_items: {
57: 16
59: 60
106: 1
180: 54
214: 28
232: 6
},
late_game_items: {
108: 1
116: 1
},
mid_game_items: {
1: 52
102: 3
108: 4
116: 1
193: 1
194: 1
223: 1
232: 73
}
}
另一个数据集编号从1 - 300ish,是由其他对象组成的对象。下面是一个sn-p:
const items = [{
"id": 57,
"name": "void_stone",
"cost": 825,
"secret_shop": 1,
"side_shop": 0,
"recipe": 0,
"localized_name": "Void Stone"
},
{
"id": 58,
"name": "mystic_staff",
"cost": 2700,
"secret_shop": 1,
"side_shop": 0,
"recipe": 0,
"localized_name": "Mystic Staff"
},
{
"id": 59,
"name": "energy_booster",
"cost": 900,
"secret_shop": 1,
"side_shop": 0,
"recipe": 0,
"localized_name": "Energy Booster"
}...]
我需要通过将第一个数据集中的键与第二个数据集中的 id 匹配,将第二个数据集中的数据放入第一个数据集中。例如:
{
early_game_items: {
57: {amount: 16, name: 'void_stone', cost: 825}
59: {amount: 60...
106: {amount: 1...
180: {amount: 54...
214: {amount: 28...
232: {amount: 6...
}...
非常感谢您查看此内容!我是 js 新手,我真的很想学习。
【问题讨论】:
-
第二个数据集长什么样子,是不是一个以数字为键的对象,像这样:{0: { id: 57, name: '', ... }, 1: { id : 58, ... }, ...} ?
-
@domenikk 很抱歉写得不好。我在第二个数据集中添加了更多内容。它们只是对象中的对象。我需要将第一个数据集中的键与第二个数据集中的 id 匹配
-
在对象中不能有没有键的对象(或任何其他值),您所写的内容表明它们是数组的元素。请检查我的答案。
-
我查看了您的解决方案,但项目未定义。它正在查找两个 ID,但没有将其保存到变量中。不知道发生了什么。我试图修复它但没有成功
-
我已经修复了从 === 到 == 的比较
标签: javascript reactjs api object