如何比较两个数组,取出相等值后组成新数组?
问题描述:
你有两个数组 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"]), }; });
在这种解决方案中:
执行此代码后,你将获得一个新的数组 c,其中包含数组 A 中的 id 值以及匹配的数组 B 中的其他字段。