如何将两个数组中相同 id 值的元素合并到一个新数组中?
如何比较两个数组,取出相等值后组成新数组?
问题描述:
你有两个数组 A 和 B,数组 A 中的 id 值可能与数组 B 中的 cid 值相等。现在,需要创建一个新的数组,其中包含 A 中相同 id 的元素以及 B 中与该 id 匹配的其他字段。
解决方法:
let a = [{ id: 1 }, { id: 2 }]; let b = [ { cid: 1, des: "1" }, { cid: 1, des: "11" }, { cid: 2, des: "2" }, ]; let c = a.map((item) => { return { ...item, list: b.filter((it) => it["cid"] === item["id"]), }; });
在这种解决方案中:
- 使用 map() 方法遍历数组 A。
- 对于每个数组 A 中的元素,创建一个新对象。
- 在新对象中,保留原始的 id 值并添加一个名为 list 的新属性。
- list 属性的值是数组 B 中 cid 值与 item id 值相等的元素的数组。
执行此代码后,你将获得一个新的数组 c,其中包含数组 A 中的 id 值以及匹配的数组 B 中的其他字段。
以上就是如何将两个数组中相同 id 值的元素合并到一个新数组中?的详细内容,更多请关注其它相关文章!