我有一个问题,当我在语句中使用 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/