JavaScript TypeError:无法读取未定义的属性“split”

JavaScript TypeError:无法读取未定义的属性“split”,javascript,Javascript,当我尝试运行这个js时,我在split中遇到了这个类型错误。我不确定如何修复它,我在教科书中正确地定义了它 var current; var string; console.log("Enter words separated by spaces."); prompt(string); var array = []; array = string.split(" "); for(i = 0; i < array.length; i++) { var frequ

当我尝试运行这个js时,我在split中遇到了这个类型错误。我不确定如何修复它,我在教科书中正确地定义了它

var current;
var string;

console.log("Enter words separated by spaces.");
prompt(string);

var array = [];
array = string.split(" ");

for(i = 0; i < array.length; i++)
    {
        var frequency = 0;
        current = array[i];
            for(i = 0; i < array.length; i++)
                {
                    if(current === array[i])
                        frequency++;
                }
        console.log(current + " - " + frequency);    
    }
}
当正常运行时,函数应该产生如下输出:hey-1。 它统计每个唯一单词的频率,并在单词旁边显示它在字符串中出现的次数。任何帮助都将不胜感激。谢谢。

您可以使用“拼接”而不是“拆分”

我相信这是有帮助的

但是,首先,您必须在数组中搜索。 您可以通过string.search实现这一点,它返回找到的位置

此外,提示的语法错误,应该是:

var something=用空格分隔的提示输入单词

只是一些小错误:

将提示存储在string中:string=promptstring; 给第二个循环另一个变量j,这样我就不会被覆盖。 无功电流; var字符串; console.log输入用空格分隔的单词。; 字符串=提示字符串; var数组=[]; array=string.split; 对于i=0;i<数组长度;i++{ 无功频率=0; 电流=阵列[i]; 对于j=0;j} 主要问题是您没有从提示符中读取字符串。在下面的示例中,我将结果存储为s

你还在第二个for循环中使用了i。请使用另一个字母表示该公约为j:

无功电流; var字符串; var s; console.log输入用空格分隔的单词。; s=提示字符串; var数组=[]; 数组=s.split; console.logarray; fori=0;i<数组长度;我++{ 无功频率=0; 电流=阵列[i]; forj=0;j}promptstring不会更改字符串的值;它将保持未定义状态。请更正:string=prompenter由空格分隔的单词。;修正那个错误吗?字符串的值仍然没有定义。我在提示符中添加了