简介
在本实验中,我们将探索 JavaScript 中的 unfold()
函数。该函数允许我们通过使用初始种子值反复调用迭代器函数来创建一个数组,直到该函数返回 false
。通过本实验,我们将学习如何使用 unfold()
函数,以及它如何用于简化某些编程任务。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本实验中,我们将探索 JavaScript 中的 unfold()
函数。该函数允许我们通过使用初始种子值反复调用迭代器函数来创建一个数组,直到该函数返回 false
。通过本实验,我们将学习如何使用 unfold()
函数,以及它如何用于简化某些编程任务。
要使用迭代器函数和初始种子值创建数组,请执行以下步骤:
node
开始练习编码。while
循环和 Array.prototype.push()
反复调用迭代器函数,直到它返回 false
。seed
),并始终返回一个包含两个元素的数组([value, nextSeed]
)或 false
以终止。使用以下代码实现 unfold
函数:
const unfold = (fn, seed) => {
let result = [],
val = [null, seed];
while ((val = fn(val[1]))) result.push(val[0]);
return result;
};
以下是如何使用 unfold
函数的示例:
var f = (n) => (n > 50 ? false : [-n, n + 10]);
unfold(f, 10); // [-10, -20, -30, -40, -50]
这将生成一个数组,其中的值由迭代器函数 f
从初始种子值 10
开始生成。迭代器函数在每一步生成一个包含两个元素的数组:当前种子值的相反数和下一个种子值,下一个种子值递增 10
。这个过程会一直持续,直到种子值大于 50
,此时函数返回 false
。
恭喜你!你已经完成了“展开数组”实验。你可以在 LabEx 中练习更多实验来提升你的技能。