1. ホーム
  2. javascript

[解決済み】Uncaught TypeError: Cannot read property 'toUpperCase' of undefined(未定義のプロパティ 'toUpperCase'を読み取れない

2022-02-18 17:12:41

質問

javaScriptで大文字小文字に関係なく2つの文字列を比較するために、toUpperCase/toLowerCaseのように同じ形式に変換しようとしています。以下は私の関数です。

    function submitForm() {

    var usernames=['one','two','Test'];
    var cpusername = "test";
            var flag = 0;

   if (cpusername !== "")
                {
    for (var k = 0; k < usernames.length; k++)
                {
        var upperCasecpusername=cpusername.toUpperCase();
        var getusername= usernames[k];
        var upperCaseusername=getusername.toUpperCase();

                    if (upperCasecpusername === upperCaseusername)
                    {
                        flag=1;
     console.log(flag);
            //document.getElementById('cpusername').value = '';
                $.messager.alert("Message", "Someone already has username"+cpusername+". Try another!!", '');                    


                    }
                }
                }

というエラーが出ています。 Uncaught TypeError: Cannot read property 'toUpperCase' of undefined .I have also tried to convert toString() first and then toLowercase() .It was also erred (toString() undefined).I have done to convert toString() and toLowercase(). また、大文字と小文字に関係なく、2つの文字列を比較するために他の方法がある場合は、私に示唆している。ありがとうございました。

どのように解決するのですか?

これを試してみてください。

プレ var getusername= ""+usernames[k];

それでもダメなら、これが問題かもしれません。

スイッチ

プレ {コード

について

for (var k = 0; k <= usernames.length; k++)