【发布时间】:2018-02-10 17:23:10
【问题描述】:
我有两个数组:
a = [{"sourceId": "1", "targetId": "2", "name": "heats air"} ,
{"sourceId": "3", "targetId": "4", "name": "power"}]
b = [{"name": "Hair Dryer", "id": "1"},
{"name": "Heating System", "id": "2"},
{"name": "Mains", "id": "3"},
{"name": "Blower", "id": "4"}]
我如何得到这样的输出:
[{"sourceId": "1", "targetId": "2", "name": "heats air", "from": "Hair Dryer", "to": "Heating System"},
{"sourceId": "3", "targetId": "4", "name": "power","from": "Mains", "to": "Blower"]
我想根据属性值合并它们:数组a的键“sourceId”和“targetId”应该对应于数组b的键“id”。如果 sourceId 与 id 匹配,则将键为“from”的名称的值添加到数组 a 中的对象中;如果 targetId 与 id 匹配,则将带有键“to”的名称的值添加到数组 a 中的项目。另外,我想知道我是否可以在不使用 lodash 的情况下做到这一点。 (使用 ES6)
【问题讨论】:
-
不清楚合并算法应该是什么,因为被合并的对象没有共同的属性。你如何确定什么与什么合并?请“用文字”描述合并算法是什么。而且,您如何确定应该将
from和to设置为什么? -
数组a的“sourceId”和“targetId”键对应数组b的“id”键
-
请编辑您的问题以将合并算法添加到您的问题中。还要描述应该如何设置
from和to。评论不应用于所需信息 - 应将信息添加到问题本身。
标签: arrays reactjs ecmascript-6 array-merge