满足条件时移除数组元素

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在本实验中,我们将探索 JavaScript 中的 takeWhile 函数。该函数会从数组中移除元素,直到满足某个条件为止,并返回已移除的元素。通过本实验,你将学习如何在自己的代码中实现此函数,并了解它在各种编程场景中的用途。


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/loops("Loops") subgraph Lab Skills javascript/variables -.-> lab-28644{{"满足条件时移除数组元素"}} javascript/data_types -.-> lab-28644{{"满足条件时移除数组元素"}} javascript/arith_ops -.-> lab-28644{{"满足条件时移除数组元素"}} javascript/comp_ops -.-> lab-28644{{"满足条件时移除数组元素"}} javascript/cond_stmts -.-> lab-28644{{"满足条件时移除数组元素"}} javascript/loops -.-> lab-28644{{"满足条件时移除数组元素"}} end

根据条件移除数组元素

要根据条件移除数组中的元素,请打开终端/SSH 并输入 node

takeWhile 函数会从数组中移除元素,直到传入的函数返回 false,然后返回已移除的元素。

以下是使用 takeWhile 函数的步骤:

  • 使用 for...of 循环遍历 Array.prototype.entries() 上的数组。
  • 循环直到函数返回的值为假值。
  • 使用 Array.prototype.slice() 返回已移除的元素。
  • fn 回调函数接受一个参数,即元素的值。

使用以下代码实现 takeWhile 函数:

const takeWhile = (arr, fn) => {
  for (const [i, val] of arr.entries()) if (!fn(val)) return arr.slice(0, i);
  return arr;
};

以下是使用 takeWhile 函数根据条件从数组中移除元素的示例:

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

总结

恭喜你!你已完成「满足条件时移除数组元素」实验。你可以在 LabEx 中练习更多实验来提升你的技能。