使用 while 循环初始化数组

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在本实验中,我们将探讨在满足特定条件时,使用函数生成的值初始化并填充数组的概念。我们将使用 initializeArrayWhile 函数,该函数接受两个函数作为参数:一个条件函数和一个映射函数。本实验将帮助你理解如何根据特定条件和映射函数创建自定义数组。


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`") subgraph Lab Skills javascript/variables -.-> lab-28392{{"`使用 while 循环初始化数组`"}} javascript/data_types -.-> lab-28392{{"`使用 while 循环初始化数组`"}} javascript/arith_ops -.-> lab-28392{{"`使用 while 循环初始化数组`"}} javascript/comp_ops -.-> lab-28392{{"`使用 while 循环初始化数组`"}} javascript/loops -.-> lab-28392{{"`使用 while 循环初始化数组`"}} end

如何在 JavaScript 中使用 while 循环初始化并填充数组

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

initializeArrayWhile 函数会在满足某个条件时,使用一个函数生成的值来初始化并填充数组。其工作原理如下:

  1. 创建一个名为 arr 的空数组、一个名为 i 的索引变量以及一个名为 el 的元素。
  2. 使用 while 循环,只要 conditionFn 函数针对给定的索引 i 和元素 el 返回 true,就使用 mapFn 函数将元素添加到数组中。
  3. conditionFn 函数接受三个参数:当前索引、前一个元素以及数组本身。
  4. mapFn 函数接受三个参数:当前索引、当前元素以及数组本身。
  5. initializeArrayWhile 函数返回该数组。

以下是代码:

const initializeArrayWhile = (conditionFn, mapFn) => {
  const arr = [];
  let i = 0;
  let el = mapFn(i, undefined, arr);
  while (conditionFn(i, el, arr)) {
    arr.push(el);
    i++;
    el = mapFn(i, el, arr);
  }
  return arr;
};

你可以使用 initializeArrayWhile 函数来初始化并填充数组。例如:

initializeArrayWhile(
  (i, val) => val < 10,
  (i, val, arr) => (i <= 1 ? 1 : val + arr[i - 2])
); // [1, 1, 2, 3, 5, 8]

总结

恭喜你!你已经完成了「使用 while 循环初始化数组」实验。你可以在 LabEx 中练习更多实验来提升你的技能。

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