使用 dropRightWhile 操作数组

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在本实验中,我们将学习如何根据指定函数从数组末尾移除元素。dropRightWhile 函数会遍历数组,并从右侧开始移除元素,直到该函数返回 true。然后将返回数组中剩余的元素。本实验将帮助你理解如何使用高阶函数在 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/loops("`Loops`") javascript/BasicConceptsGroup -.-> javascript/array_methods("`Array Methods`") subgraph Lab Skills javascript/variables -.-> lab-28280{{"`使用 dropRightWhile 操作数组`"}} javascript/data_types -.-> lab-28280{{"`使用 dropRightWhile 操作数组`"}} javascript/arith_ops -.-> lab-28280{{"`使用 dropRightWhile 操作数组`"}} javascript/comp_ops -.-> lab-28280{{"`使用 dropRightWhile 操作数组`"}} javascript/loops -.-> lab-28280{{"`使用 dropRightWhile 操作数组`"}} javascript/array_methods -.-> lab-28280{{"`使用 dropRightWhile 操作数组`"}} end

根据函数从数组右侧删除元素

要从数组末尾删除元素,直到满足特定条件,请执行以下步骤:

  1. 打开终端/SSH 并输入 node 开始练习编码。
  2. 使用 Array.prototype.slice() 遍历数组,删除数组的最后一个元素,直到传入的 func 返回 true
  3. 返回数组中剩余的元素。

以下是一个示例实现:

const dropRightWhile = (arr, func) => {
  let rightIndex = arr.length;
  while (rightIndex-- && !func(arr[rightIndex]));
  return arr.slice(0, rightIndex + 1);
};

你可以这样使用这个函数:

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

总结

恭喜你!你已经完成了“根据函数从数组右侧删除元素”实验。你可以在 LabEx 中练习更多实验来提升你的技能。

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