探索 JavaScript 的 takeRightUntil 函数

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在本实验中,我们将探索 JavaScript 中的 takeRightUntil 函数。该函数从数组末尾移除元素,直到满足给定条件,并返回移除的元素。我们将研究此函数的工作原理以及如何在你的代码中实现它。


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/BasicConceptsGroup -.-> javascript/cond_stmts("`Conditional Statements`") javascript/BasicConceptsGroup -.-> javascript/loops("`Loops`") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("`Spread and Rest Operators`") subgraph Lab Skills javascript/variables -.-> lab-28640{{"`探索 JavaScript 的 takeRightUntil 函数`"}} javascript/data_types -.-> lab-28640{{"`探索 JavaScript 的 takeRightUntil 函数`"}} javascript/arith_ops -.-> lab-28640{{"`探索 JavaScript 的 takeRightUntil 函数`"}} javascript/comp_ops -.-> lab-28640{{"`探索 JavaScript 的 takeRightUntil 函数`"}} javascript/cond_stmts -.-> lab-28640{{"`探索 JavaScript 的 takeRightUntil 函数`"}} javascript/loops -.-> lab-28640{{"`探索 JavaScript 的 takeRightUntil 函数`"}} javascript/spread_rest -.-> lab-28640{{"`探索 JavaScript 的 takeRightUntil 函数`"}} end

从数组末尾移除元素,直到满足某个条件

要开始练习编码,请打开终端/SSH 并输入 node

此函数从数组末尾移除元素,直到传入的函数返回 true,然后返回移除的元素。

它的工作原理如下:

  • 首先,使用展开运算符 (...) 和 Array.prototype.reverse() 创建数组的反向副本。
  • 接下来,使用 for...of 循环遍历 Array.prototype.entries() 返回的反向副本,直到函数返回的值为真值。
  • 之后,使用 Array.prototype.slice() 返回移除的元素。
  • 回调函数 fn 接受一个参数,即元素的值。

以下是代码:

const takeRightUntil = (arr, fn) => {
  for (const [i, val] of [...arr].reverse().entries())
    if (fn(val)) return i === 0 ? [] : arr.slice(-i);
  return arr;
};

以下是如何使用此函数的示例:

takeRightUntil([1, 2, 3, 4], (n) => n < 3); // [3, 4]

总结

恭喜你!你已经完成了“从数组末尾移除元素,直到满足条件”实验。你可以在 LabEx 中练习更多实验来提升你的技能。

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