Javascript JS:在循环中使用i作为字符串的索引是返回一个整数,而不是字母
学习JS/编程并完成一些基本练习 这是为了确定一个单词是否是回文(向前和向后读相同) 我的问题是,即使在我输入回文时,函数仍返回Javascript JS:在循环中使用i作为字符串的索引是返回一个整数,而不是字母,javascript,Javascript,学习JS/编程并完成一些基本练习 这是为了确定一个单词是否是回文(向前和向后读相同) 我的问题是,即使在我输入回文时,函数仍返回false。从逐级查看,似乎string[i]给出了一个要比较的整数,而不是当前索引中的字符 let input=“hannah”; 设firstCharacter=input[0]; 设lastIndex=input.length-1; 让lastCharacter=输入[lastIndex]; 函数测试(字符串){ 设j=string[lastIndex]; if
false
。从逐级查看,似乎string[i
]给出了一个要比较的整数,而不是当前索引中的字符
let input=“hannah”;
设firstCharacter=input[0];
设lastIndex=input.length-1;
让lastCharacter=输入[lastIndex];
函数测试(字符串){
设j=string[lastIndex];
if(string.length%2==0)
{
对于(i=0;i一些想法:
- 无需区分长度为奇数或偶数的字符串,使用从开始到结束计数的方法
- 只有一个循环
- 将索引保留到字符串的中间
- 检查是否不相等,然后使用
false退出函数
- 如果到达函数末尾,则返回
true
,因为字符串是回文
功能测试(字符串){
变量i,l;
对于(i=0,l=Math.floor(string.length/2);i
一些想法:
- 无需区分长度为奇数或偶数的字符串,使用从开始到结束计数的方法
- 只有一个循环
- 将索引保留到字符串的中间
- 检查是否不相等,然后使用
false退出函数
- 如果到达函数末尾,则返回
true
,因为字符串是回文
功能测试(字符串){
变量i,l;
对于(i=0,l=Math.floor(string.length/2);i log(palTest('foo');
您需要减少lastIndex,而不是最后一个索引的值
功能测试(字符串){
var lastIndex=string.length-1;//在此处初始化lastIndex
设j=string[lastIndex];
if(string.length%2==0){
对于(i=0;i您需要递减lastIndex,而不是最后一个索引的值
功能测试(字符串){
var lastIndex=string.length-1;//在此处初始化lastIndex
设j=string[lastIndex];
if(string.length%2==0){
对于(i=0;i我建议将逻辑简化一点,因为您只需要一个循环、一个变量,而不需要全局存储。只需循环一次,检查当前索引是否与结尾处的相同索引相等,如果不相等,则不是回文。即使字母的数量或数量不均匀,在这里也没有什么区别:
函数testPalindrome(字符串){
for(设i=0;i log(testPalindrome('stackoverflow'));//false
我建议简化一下逻辑,因为你只需要一个循环,一个变量,而且不需要全局存储。只需循环一次,检查当前索引是否从结尾处等于相同的索引,如果不等于,就不是回文。即使字母的数量不均匀,在这里也没有什么区别:
函数testPalindrome(字符串){
for(设i=0;i console.log(testPalindrome('stackoverflow');//false
middleCharacter
是代码中的一个整数,是的。string[middleCharacter]
将是一个字符。您想用元音检查什么?1。让j=string[lastIndex];
,改为使用let j=string.length-1
;仅在循环结束后返回truemiddleCharacter
是代码中的整数,是。string[middleCharacter]
将是一个字符。您想用元音检查什么?1。let j=string[lastIndex];
,改为使用让j=string.length-1
;仅在循环结束后返回true。这是一种更简洁的回文检查方法。非常简单。+1Damn这是一种更简洁的回文检查方法。非常简单。+1