【发布时间】:2017-11-09 19:59:00
【问题描述】:
合并两个数组(“target”、“updater”)并用作第二个更新器,以使用 uderscore 更新第一个数组中的单个字段或某些字段。
arr1 = [{"_id": 1, "name": "Name One", "surname": "Surname One",
"Addresses": [{"_id": 1, "country":"Country One", "Town": "Town One" },
{"_id": 2, "country":"Country Two", "Town": "Town Two" }]
},
{"_id": 2, "name": "Name Two", "surname": "Surname Two",
"Addresses": [{"_id": 4, "country":"Country Three"},
{"_id": 4, "country":"Country Four"}]
}]
arr2 = [{"_id": 2, "name": "Name Two", "surname": "Surname Two",
"Addresses": [{"_id": 4, "country":"Country Three", "Town": "Town Three" },
{"_id": 4, "country":"Country Four", "Town": "Town Four" }]
}]
预期结果:
result = [{"_id": 1, "name": "Name One", "surname": "Surname One",
"Addresses": [{"_id": 1, "country":"Country One", "Town": "Town One" },
{"_id": 2, "country":"Country Two", "Town": "Town Two" }]
},
{"_id": 2, "name": "Name Two", "surname": "Surname Two",
"Addresses": [{"_id": 4, "country":"Country Three", "Town": "Town Three" },
{"_id": 4, "country":"Country Four", "Town": "Town Four" }]
}]
我已经检查了_.map、_.extend、findWhere 并尝试了事件_.values(_.extend(_.indexBy(array1, 'field'), _.indexBy(array2, 'field'))),但没有一个给出预期的结果。
【问题讨论】:
标签: javascript arrays merge underscore.js