检查两个字符串的大小是否相同并保持相同的值

时间:2011-10-29 22:38:52

标签: javascript

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”。我正在尝试比较两个字符串,看看它们是否具有相同的值。非常感谢任何帮助!

3 个答案:

答案 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

为什么不呢?