使用 JavaScript 反转数组中的唯一元素

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在本实验中,我们将探索如何使用 JavaScript 中的 uniqueElementsByRight() 函数,根据提供的比较函数来查找数组中反转后的唯一值。我们将学习如何使用 Array.prototype.reduceRight()Array.prototype.some() 方法,根据提供的比较函数创建一个只包含每个值最后一次唯一出现的数组。在本实验结束时,你将更好地理解如何使用这些方法在 JavaScript 中操作数组。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic 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/BasicConceptsGroup -.-> javascript/cond_stmts("`Conditional Statements`") javascript/BasicConceptsGroup -.-> javascript/obj_manip("`Object Manipulation`") subgraph Lab Skills javascript/variables -.-> lab-28338{{"`使用 JavaScript 反转数组中的唯一元素`"}} javascript/data_types -.-> lab-28338{{"`使用 JavaScript 反转数组中的唯一元素`"}} javascript/arith_ops -.-> lab-28338{{"`使用 JavaScript 反转数组中的唯一元素`"}} javascript/comp_ops -.-> lab-28338{{"`使用 JavaScript 反转数组中的唯一元素`"}} javascript/cond_stmts -.-> lab-28338{{"`使用 JavaScript 反转数组中的唯一元素`"}} javascript/obj_manip -.-> lab-28338{{"`使用 JavaScript 反转数组中的唯一元素`"}} end

在数组中查找反转后的唯一值的函数

要根据从右到左提供的比较函数来查找数组的所有唯一值,请执行以下步骤:

  1. 打开终端/SSH 并输入 node 以开始练习编码。
  2. 使用 Array.prototype.reduceRight()Array.prototype.some() 根据比较函数 fn 创建一个只包含每个值最后一次唯一出现的数组。
  3. 比较函数接受两个参数:正在比较的两个元素的值。
  4. 以下是实现该函数的代码:
const uniqueElementsByRight = (arr, fn) =>
  arr.reduceRight((acc, v) => {
    if (!acc.some((x) => fn(v, x))) acc.push(v);
    return acc;
  }, []);
  1. 使用以下代码测试该函数:
uniqueElementsByRight(
  [
    { id: 0, value: "a" },
    { id: 1, value: "b" },
    { id: 2, value: "c" },
    { id: 1, value: "d" },
    { id: 0, value: "e" }
  ],
  (a, b) => a.id == b.id
); // [ { id: 0, value: 'e' }, { id: 1, value: 'd' }, { id: 2, value: 'c' } ]

总结

恭喜你!你已经完成了基于函数的数组中反转唯一值实验。你可以在 LabEx 中练习更多实验来提升你的技能。

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