Javascript 在随机数组中计数
所以我试图找出从0到10的每个数字中有多少是在一个随机数组中生成的。 我创建了一个随机数组列表Javascript 在随机数组中计数,javascript,Javascript,所以我试图找出从0到10的每个数字中有多少是在一个随机数组中生成的。 我创建了一个随机数组列表 i=0; var ranList=[]; while (i<20){ i++; ranList.push(Math.floor(10*Math.random())); } //count each number document.write(ranList.sort().join("<br>")); /*The
i=0;
var ranList=[];
while (i<20){
i++;
ranList.push(Math.floor(10*Math.random()));
}
//count each number
document.write(ranList.sort().join("<br>"));
/*Then I made a function to count /elements from this array
*/
function ctnumber(array,elem){
var ct=0;
var j =0;
while(j<array.length)
{
j++;
if(array[j]==elem){
ct+=1;}
}
}
return ct;
}
alert(ctnumber(ranList,5));
i=0;
var ranList=[];
(i首先,应避免使用变量的名称数组:
你的括号也错了。将你的函数更改为此,它应该可以工作:
function ctnumber(arr,elem){
var ct=0;
var j =0;
while(j<arr.length)
{
j++;
if(arr[j]==elem){
ct+=1;}
}
return ct;
}
功能ctnumber(arr,elem){
var-ct=0;
var j=0;
while(j正如Pardeep在其评论中所述,代码的问题在于,在第二个while
循环中,在ct+=1;
之后有一个额外的}
正确的代码是:
i=0;
var ranList=[];
而(i<20){
i++;
ranList.push(Math.floor(10*Math.random());
}
//数一数
document.write(ranList.sort().join(“
”);
函数编号(数组、元素){
var-ct=0;
var j=0;
while(j
我还建议进行一些代码清理:
var i = 0;
var ranList = [];
while (i < 20) {
i++;
ranList.push(Math.floor(10 * Math.random());
}
function countNumbers(list, elem) {
var count = 0;
// For loops are generally more readable for looping through existing lists
for (var i = 0; i < list.length; i++) {
if (list[i] == elem) {
count++;
}
}
return count;
}
alert(countNumber(ranList, 5));
var i=0;
var ranList=[];
而(i<20){
i++;
ranList.push(Math.floor(10*Math.random());
}
函数计数编号(列表、元素){
var计数=0;
//对于在现有列表中循环,For循环通常更具可读性
对于(变量i=0;i
请注意,console.log()
是一个更好的调试工具,它可以通过Firefox和Chrome/IE中的F12
访问。如果您稍微清理一下代码,并按原样显示代码,而不是按两段代码显示,可能会有所帮助。“不执行”?!就像?!我们不能告诉你为什么这是基于你所展示的。你知道Javascript控制台吗?它会给你语法错误和运行时错误的信息。因为额外的右括号。你在ct+=1
之后有一个额外的}
。这并不能回答问题,最好作为一个注释。谢谢你,这就解决了问题。出于某种原因,数组作为变量没有出现问题,可能是因为它在较低的映射上…@user5723270应该没有理由将array
作为变量名引起问题,除非你使用的是第三方库,它对数组做了一些事情。array
带大写字母a
是数组派生自的对象。但是,正如这个答案中所述,给任何变量指定一个与内置类型或函数相同的名称(即:数字、对象、数组、字符串、数学等)通常不是一个好主意。谢谢,我正在使用安卓应用程序aide Web进行编码,我将了解如何使用其中的控制台
var i = 0;
var ranList = [];
while (i < 20) {
i++;
ranList.push(Math.floor(10 * Math.random());
}
function countNumbers(list, elem) {
var count = 0;
// For loops are generally more readable for looping through existing lists
for (var i = 0; i < list.length; i++) {
if (list[i] == elem) {
count++;
}
}
return count;
}
alert(countNumber(ranList, 5));