我调用了两个 API - 这给了我两个数组,是否可以创建一个数组,但忽略数组 b 的值 - 所以我可以在 React Native 的平面列表中使用新数组。我环顾四周,可以看到许多将数组连接在一起的方法(这是我所能得到的)。还可以找到并删除重复的值(但这会让我得到的结果看起来与数组 a 完全一样)但我所追求的是只出现一次的值 - 当它们连接在一起时!所以我可以得到的数组:
const a = [{"id": "08.30 AM", "title": "08.30 AM"}, {"id": "09.30 AM", "title": "09.30 AM"}, {"id": "10.30 AM", "title": "10.30 AM"}, {"id": "11.30 AM", "title": "11.30 AM"}, {"id": "12.30 AM", "title": "12.30 AM"}, {"id": "14.30 PM", "title": "14.30 PM"}, {"id": "15.30 PM", "title": "15.30 PM"}, {"id": "16.30 PM", "title": "16.30 PM"}]
const b = [{"id": "08.30 AM", "title": "08.30 AM"}, {"id": "11.30 AM", "title": "11.30 AM"}, {"id": "16.30 PM", "title": "16.30 PM"}]
并希望制作这个:
const c = [{"id": "09.30 AM", "title": "09.30 AM"}, {"id": "10.30 AM", "title": "10.30 AM"},{"id": "12.30 AM", "title": "12.30 AM"}, {"id": "14.30 PM", "title": "14.30 PM"}, {"id": "15.30 PM", "title": "15.30 PM"}]
如果我加入这两个数组,我会得到重复我想要一个看起来像数组 c 的新数组 - 我是新手,所以我希望我能解释清楚!
我用这个把它们连接在一起:const c = a.concat(b);
如果有帮助,数组 a - 将始终相同!
答案 0 :(得分:1)
const a = [
{ id: "08.30 AM", title: "08.30 AM" },
{ id: "09.30 AM", title: "09.30 AM" },
{ id: "10.30 AM", title: "10.30 AM" },
{ id: "11.30 AM", title: "11.30 AM" },
{ id: "12.30 AM", title: "12.30 AM" },
{ id: "14.30 PM", title: "14.30 PM" },
{ id: "15.30 PM", title: "15.30 PM" },
{ id: "16.30 PM", title: "16.30 PM" },
];
const b = [
{ id: "08.30 AM", title: "08.30 AM" },
{ id: "11.30 AM", title: "11.30 AM" },
{ id: "16.30 PM", title: "16.30 PM" },
];
const c = a.filter((x) => !b.find((y) => y.id == x.id && y.title == x.title));
您可以决定使用 a more generic solution to compare the fields from a and b,而不是比较日期和 ID。