-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]++}
      }

我在 Javascript 中有这段代码,它应该从 HTML 中读取一个字符串和一个字母,然后找出哪个单词中的此类字母最多。所以我尽量保持简单,将字符串拆分为一个数组,将每个数组元素定义为一个字符串,然后循环遍历每个字母,如果是要求的字母,将其标记在 count 数组中.

问题是,即使我明确定义单词(首先在变量中)应该是一个字符串,然后尝试使用 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 回答