charAt 不评估
charAt not evaluating
我正在尝试编写一个函数来评估字符串中字符的相等性,如果连续 3 个匹配,则 return 为真。 charAt() 似乎不起作用,因为 if 语句总是转到 else 块。
function myFunction(num1)
{
var checkNum1;
for (var i = 0; i < num1.length; i++)
{
if (num1.charAt(i) == num1.charAt(i+1) && num1.charAt(i) == num1.charAt(i+2))
{
checkNum1 = true;
break;
}
}
if (checkNum1 == true)
{
return true;
}
else
{
return false;
}
}
我应该怎么做才能使最后一个 "if" 块变为 return true?
您提供的代码适用于字符串,即:myFunction("257986555213") returns true.
但是,myFunction(257986555213) returns 如预期的那样为 false,因为 charAt 是一个字符串方法。
作为一种故障安全方法,您可以尝试在方法的开头添加以下行:
num1 += '';
这会将您的参数转换为字符串,您应该会得到结果..
希望对您有所帮助!!
我正在尝试编写一个函数来评估字符串中字符的相等性,如果连续 3 个匹配,则 return 为真。 charAt() 似乎不起作用,因为 if 语句总是转到 else 块。
function myFunction(num1)
{
var checkNum1;
for (var i = 0; i < num1.length; i++)
{
if (num1.charAt(i) == num1.charAt(i+1) && num1.charAt(i) == num1.charAt(i+2))
{
checkNum1 = true;
break;
}
}
if (checkNum1 == true)
{
return true;
}
else
{
return false;
}
}
我应该怎么做才能使最后一个 "if" 块变为 return true?
您提供的代码适用于字符串,即:myFunction("257986555213") returns true.
但是,myFunction(257986555213) returns 如预期的那样为 false,因为 charAt 是一个字符串方法。
作为一种故障安全方法,您可以尝试在方法的开头添加以下行:
num1 += '';
这会将您的参数转换为字符串,您应该会得到结果..
希望对您有所帮助!!