-1
var teksts= (document.getElementById("teksts").value);
letter=document.getElementById("letter").value;
var results = teksts.split(" ");
document.getElementById("1").innerHTML = results
var count = new Array
for(var i=0; i<results.length; i++)
      {
var first= new String (results[i])    
    for (var j=0; j<first.length; j++)
   {if (first.CharAt(j)==letter)
       {count [i]++}
      }

HTML から文字列と文字を読み取り、このタイプの文字が最も多く含まれる単語を見つける Javascript のコードがあります。だから私はそれを単純に保ち、文字列を配列に分割し、各配列要素を文字列として定義してから、すべての文字をループさせ、それが要求された文字である場合はカウント配列にマークします.

問題は、(最初に変数内の) 単語が文字列であることを明確に定義し、特定のシンボルを取得するために CharAt メソッドを使用しようとしても、「Uncaught TypeError: Object [object String] hasメソッド「CharAt」はありません」

グーグルのスキルをすべて使っても、この方法がうまくいかない理由を理解できません。

4

1 に答える 1

1
  1. メソッド名は ではありcharAtませんCharAt。小さいことに注意してくださいc
  2. 提案 1:実行時に上書きされる可能性があるvar count = new Arrayためvar count = [];、常にこのような空の配列を作成することをお勧めします。Array
  3. 提案 2: JavaScript で行末を;(セミコロン) でマークすることをお勧めします。
于 2013-12-15T11:22:43.213 に答える