子字符串的索引

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在本实验中,我们将探索 JavaScript 编程语言的基础知识。你将学习 JavaScript 的基本语法、数据类型、函数和控制结构。在实验结束时,你将能够使用 JavaScript 编写简单的程序,并对该语言有扎实的理解。本实验是为没有编程或 JavaScript 经验的初学者设计的。

子字符串的索引

要在给定字符串中找到子字符串的所有索引,请执行以下步骤:

  1. 打开终端/SSH 并输入 node 以开始练习编码。
  2. 使用内置方法 Array.prototype.indexOf()str 中搜索 searchValue
  3. 如果找到该值,则使用 yield 返回索引并更新索引 i
  4. 使用 while 循环,一旦 Array.prototype.indexOf() 返回的值为 -1,就终止生成器。

以下是实现上述步骤的示例代码:

const indexOfSubstrings = function* (str, searchValue) {
  let i = 0;
  while (true) {
    const r = str.indexOf(searchValue, i);
    if (r !== -1) {
      yield r;
      i = r + 1;
    } else return;
  }
};

你可以使用以下代码测试该函数:

[...indexOfSubstrings("tiktok tok tok tik tok tik", "tik")]; // [0, 15, 23]
[...indexOfSubstrings("tutut tut tut", "tut")]; // [0, 2, 6, 10]
[...indexOfSubstrings("hello", "hi")]; // []

总结

恭喜你!你已经完成了“子字符串的索引”实验。你可以在 LabEx 中练习更多实验来提升你的技能。