javascript - For 字符串内循环以连接变量中的字符(不使用 RegExp)- Javascript

标签 javascript for-loop concatenation indexof lastindexof

我试图循环遍历一个字符串变量并将每个字符保存在另一个变量中。我的代码如下所示:

    var str = "hello world";
    var res = "";

    for (var i = str.indexOf("hello"); i <= str.lastIndexOf("hello"); i++) {
        res = res.concat(str.charAt(i));    
    }

    console.log("The result is: " + res);

这对我来说看起来很合乎逻辑,但它只打印第一个字母。我以为它会打招呼。有什么问题?没有正则表达式就无法完成吗?

最佳答案

您需要长度和起始位置来检查索引。

var str = "bla bla hello world",
    res = "",
    i,
    l = "hello".length,
    p = str.indexOf("hello");

for (i = p; i < p + l; i++) {
    res += str[i];
}

console.log("The result is: " + res);

关于javascript - For 字符串内循环以连接变量中的字符(不使用 RegExp)- Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45947786/

相关文章:

java - 单击注销按钮终止 session 并重定向到登录页面

javascript - 鼠标轨迹使用轨迹的默认指针

javascript - 用js创建文本框后无法在文本框内写入

r - 许多数据帧的质量 rbind.fill

java - 如何迭代 LinkedList 并检索第一次出现的非零数字的索引?

c++ - For 循环中奇怪的 LLVM 无符号到有符号转换

javascript - 删除所有 Flash 对象而不使浏览器重载

c# - 使用 PDFsharp 连接 PDF 返回空 PDF

mysql - 服务器端 CONCAT 返回 BOLB

mysql - 将 concat 与日期一起使用会使搜索区分大小写