简介
在本实验中,我们将探索如何使用 JavaScript 生成给定字符串的所有左子串。我们将创建一个 leftSubstrGenerator 函数,该函数使用 for...in 循环和 String.prototype.slice() 从给定字符串的开头开始生成每个子串。完成本实验后,你将对如何在 JavaScript 中生成任何给定字符串的左子串有深入的理解。
在本实验中,我们将探索如何使用 JavaScript 生成给定字符串的所有左子串。我们将创建一个 leftSubstrGenerator 函数,该函数使用 for...in 循环和 String.prototype.slice() 从给定字符串的开头开始生成每个子串。完成本实验后,你将对如何在 JavaScript 中生成任何给定字符串的左子串有深入的理解。
要生成给定字符串的所有左子串,请使用下面提供的 leftSubstrGenerator 函数。
const leftSubstrGenerator = function* (str) {
if (!str.length) return;
for (let i in str) yield str.slice(0, i + 1);
};
要使用该函数,请打开终端/SSH 并输入 node。然后,使用字符串参数输入该函数:
[...leftSubstrGenerator("hello")];
// [ 'h', 'he', 'hel', 'hell', 'hello' ]
如果字符串为空,该函数会使用 String.prototype.length 提前终止,并使用带有 String.prototype.slice() 的 for...in 循环从开头开始 yield 给定字符串的每个子串。
恭喜你!你已经完成了“左子串生成器”实验。你可以在 LabEx 中练习更多实验来提升你的技能。