作者:倒叙的时光_SX_126 | 来源:互联网 | 2023-06-13 12:54
嗨,我是Javascript的新手,我真的很困惑如何实际调用函数.我不确定为什么这不起作用,并且会喜欢一些输入.我的HTML: 我的Javascript:var array = [3,
嗨,我是Javascript的新手,我真的很困惑如何实际调用函数.我不确定为什么这不起作用,并且会喜欢一些输入.
我的HTML:
我的Javascript:
var array = [3, 1, 1, 'a', 'a', 3, 'b', 'f', 'a', 1, 'a'];
function MyFunction(array) {
var counter = 0,
amount = 1,
highest;
for (var i=0; i for(var j=i; j if (array(i) ===array(j)){counter++;
}
if(counter>amount){amount=counter;highest=array[i];
}
}
counter = 0;
}
document.getElementById("answer").innerHTML(highest + " " + amount + times");
}
解决方法:
你的函数有几个错误,首先访问你应该使用括号[]而不是()的数组项,例如:
if (array[i] === array[j]){
counter++;
}
你错过了一个双引号“在下面一行,也使用innerHTML分配HTML,你应该遵循它=:
document.getElementById("answer").innerHTML(highest + " " + amount + times");
应该 :
document.getElementById("answer").innerHTML = highest + " " + amount + "times";
而且您不必从HTML传递数组,因为数组已在JS代码中定义,所以只需使用它:
//Define function without argument
function MyFunction() {
//your code here
}
希望这可以帮助.
工作片段
var array = [3, 1, 1, 'a', 'a', 3, 'b', 'f', 'a', 1, 'a'];
function MyFunction() {
var counter = 0;
var amount = 1;
var highest;
var i;
for (i=0; i {
for(var j=i; j if (array[i] === array[j]){
counter++;
}
if(counter>amount){
amount=counter;
highest=array[i];
}
}
counter = 0;
}
document.getElementById("answer").innerHTML = highest + " " + amount + "times";
}