javascript - 使用这个 .charAt() 的任何替代方法?

标签 javascript

我有一个问题,当我在语句中使用 input[index] 时,反向单词与 inputString 的值不匹配。但这在 C# 中有效。当我在 JavaScript 中尝试时,它不起作用。我想了解 .char() 方法的其他替代方法是什么。有人能解决我的问题吗?

strReverse = "";
input = document.getElementById("inputValue").value;
i = input.length;

for(var j = i; j >= 0; j--) {
     strReverse = strReverse + input.charAt(j); // i used input[index]  
}

最佳答案

如果您希望使用 input[index] 而不是 input.charAt() 那么您需要解决设置 i = input 的问题.length;

因此,当您进入第一次迭代的循环时,j 将等于 i。这意味着您正在尝试访问等于字符串长度的索引处的字符(当您执行input[j]时)。但是,由于 javascript(以及大多数语言)中数组和字符串索引从零开始,因此 i(字符串的长度)处没有索引,但是 处有一个索引i-1,它将给出字符串中的最后一个字符。因此,如果您想使用 input[j] 反转数组,则需要在 for 循环中以 j = i - 1 形式启动 j .

看一下工作示例的代码片段:

strReverse = "";
input = "level";
i = input.length;

for(var j = i-1; j >= 0; j--) {
     strReverse = strReverse + input[j]; // i used input[index]  
}

if(strReverse === input) {
  alert(input +" is a palindrome!")
} else {
  alert(input +" is not a palindrome!");
}

关于javascript - 使用这个 .charAt() 的任何替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51334904/

相关文章:

javascript - 用于从事件窗口中提取和存储所选文本的浏览器书签

javascript - 循环遍历单个 <td> 元素 - Laravel

javascript - Bootstrap 3 : Triple nested tab error

javascript - Fancybox 自动关闭,但保留用户控制

javascript:检查是否存在多个特定对象属性(也在coffeescript中)

php - 如何为动态创建的元素分配唯一 ID - Javascript

javascript - 如何使用 wordpress 在点击时播放 GIF(如 9GaG.com)?

javascript - 在javascript中将一项添加到数组的快捷方式

javascript - 数据 URI 在 CSS 中不起作用

javascript - 是否可以通过运行所有代码 try...catch block 来捕获所有 JS 异常?