string1 = prompt("String 1?");
string2 = prompt("String 2?");
if (string1.length == string2.length)
alert (string1 + " and " + string2 + " : are identical in size.")
else
alert (string1 + " and " + string2 + " : not identical in size.")
for(i=0; i<string1.length; i++)
{
for(j=0; j<string2.length; j++)
{
if (string1.charAt[i] == string2.charAt[i])
alert (string1.charAt[i] + " and " + string2.charAt[j] + " : are identical values.")
else
alert (string1.charAt[i] + " and " + string2.charAt[j] + " : are non-identical values.")
}
};
代码的第二部分继续返回“undefined”和“undefined”。我正在尝试比较两个字符串,看看它们是否具有相同的值。非常感谢任何帮助!
答案 0 :(得分:2)
使用charAt(i)
代替charAt[i]
(括号而不是方括号)。
charAt
是String方法,而不是字符串的属性。
等效方法:
string1[i]
string1.charAt(i)
string1.substr(i, 1)
string.substring(i, i+1)
答案 1 :(得分:2)
比较字符时使用的索引错误。这样:
if (string1.charAt[i] == string2.charAt[i])
应该是:
if (string1.charAt(i) == string2.charAt(j))
除了使用parantheses之外,正如Rob W指出的那样,你应该使用变量j
来访问string2
中的角色。
我不确定为什么要将一个字符串中的每个字符与另一个字符串中的每个字符进行比较,但是......如果你真的想要将每个字符与另一个字符串中的相应字符进行比较,那么你不应该有嵌套循环但只有一个循环。
答案 2 :(得分:2)
跆拳道?
string1 === string2
为什么不呢?