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 += '';

这会将您的参数转换为字符串,您应该会得到结果..

希望对您有所帮助!!