简介
在本实验中,我们将探索如何在不筛选重复值的情况下计算两个数组之间的差异。本实验将指导你完成以下过程:从一个数组创建一个 Set 以获取唯一值,然后在另一个数组上使用 Array.prototype.filter() 仅保留 Set 中不包含的值。在实验结束时,你将对如何在 JavaScript 中处理数组有更深入的理解。
在本实验中,我们将探索如何在不筛选重复值的情况下计算两个数组之间的差异。本实验将指导你完成以下过程:从一个数组创建一个 Set 以获取唯一值,然后在另一个数组上使用 Array.prototype.filter() 仅保留 Set 中不包含的值。在实验结束时,你将对如何在 JavaScript 中处理数组有更深入的理解。
要找出两个数组之间的差异,请执行以下步骤:
打开终端/SSH 并输入 node 开始编码。
从数组 b 创建一个 Set,以从 b 中提取唯一值。
在数组 a 上使用 Array.prototype.filter(),通过 Set.prototype.has() 仅保留不在数组 b 中的值。
以下是代码:
const difference = (a, b) => {
const s = new Set(b);
return a.filter((x) => !s.has(x));
};
示例用法:
difference([1, 2, 3, 3], [1, 2, 4]); // 输出:[3, 3]
恭喜你!你已经完成了“数组差异”实验。你可以在 LabEx 中练习更多实验来提升你的技能。