反应我有两个数组:如何合并基于属性值的两个数组与ES6
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'? – jfriend00
数组a的键“sourceId”和“targetId”应该对应数组b的键“id”。 – hypha
请编辑您的问题,将合并算法添加到您的问题。同时描述应该如何设置'from'和'to'。评论不应该用于所需的信息 - 该信息应该添加到问题本身。 – jfriend00