计算数组差异(不筛选重复值)

JavaScriptJavaScriptBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索如何在不筛选重复值的情况下计算两个数组之间的差异。本实验将指导你完成以下过程:从一个数组创建一个 Set 以获取唯一值,然后在另一个数组上使用 Array.prototype.filter() 仅保留 Set 中不包含的值。在实验结束时,你将对如何在 JavaScript 中处理数组有更深入的理解。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/AdvancedConceptsGroup(["`Advanced Concepts`"]) javascript/BasicConceptsGroup -.-> javascript/variables("`Variables`") javascript/BasicConceptsGroup -.-> javascript/data_types("`Data Types`") javascript/BasicConceptsGroup -.-> javascript/arith_ops("`Arithmetic Operators`") javascript/BasicConceptsGroup -.-> javascript/comp_ops("`Comparison Operators`") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("`Higher-Order Functions`") subgraph Lab Skills javascript/variables -.-> lab-28139{{"`计算数组差异(不筛选重复值)`"}} javascript/data_types -.-> lab-28139{{"`计算数组差异(不筛选重复值)`"}} javascript/arith_ops -.-> lab-28139{{"`计算数组差异(不筛选重复值)`"}} javascript/comp_ops -.-> lab-28139{{"`计算数组差异(不筛选重复值)`"}} javascript/higher_funcs -.-> lab-28139{{"`计算数组差异(不筛选重复值)`"}} end

数组差异

要找出两个数组之间的差异,请执行以下步骤:

  1. 打开终端/SSH 并输入 node 开始编码。

  2. 从数组 b 创建一个 Set,以从 b 中提取唯一值。

  3. 在数组 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 中练习更多实验来提升你的技能。

您可能感兴趣的其他 JavaScript 教程