Javascript 计算结果中不同数字的数量

Javascript 计算结果中不同数字的数量,javascript,Javascript,我希望得到结果中显示的每个数字的结果 因此,如果他们要求10个随机数,他们可以看到他们的数字和每个数字有多少。不知何故,我需要[1,2,3,4,5,2,3],才能得出结果 函数addFields(){ var编号=document.getElementById(“Rando”).value; var container=document.getElementById(“容器”); while(container.hasChildNodes()){ container.removeChild(c

我希望得到结果中显示的每个数字的结果

因此,如果他们要求10个随机数,他们可以看到他们的数字和每个数字有多少。不知何故,我需要[1,2,3,4,5,2,3],才能得出结果

函数addFields(){
var编号=document.getElementById(“Rando”).value;
var container=document.getElementById(“容器”);
while(container.hasChildNodes()){
container.removeChild(container.lastChild);
}
对于(i=0;i”;
编写(“两个”+findOccurrences(数据集,2)+“
”; 编写(“三”+findOccurrences(数据集,3)+“
”; 编写(“四”+findOccurrences(数据集,4)+“
”; 写下(“五”+findOccurrences(数据集,5)+“
”; 编写(“六”+findOccurrences(数据集,6)+“
”; 编写(“七”+findOccurrences(数据集,7)+“
”; 编写(“八”+findOccurrences(数据集,8)+“
”; 编写(“九”+findOccurrences(数据集,9)+“
”; 编写(“十”+findOccurrences(数据集,10)+“
”;
它非常难看,而且速度很快,但这很有效(如果我得到了你想要的)

函数addFields(){
var编号=document.getElementById(“Rando”).value;
var container=document.getElementById(“容器”);
var范围=10;
var nb=新阵列(范围);
while(container.hasChildNodes()){
container.removeChild(container.lastChild);
}
var numberPicked=“拾取的编号:”;
对于(i=0;i
如果我所做的是你想要的,我可以帮你做得更好^^


那么,到底是什么不起作用呢?哪里调用了
addFields
如果(arr[i]==val){count++}
更清楚。很抱歉,我对这一点很陌生。当用户在输入中键入一个数字时,它会生成那么多随机数。然后,我试图显示每个数字生成了多少。那么,您面临的问题是什么?@meskobalazs不,这并不是“完全”不必要的,这是最基本的循环优化。感谢您的帮助,但它似乎不再生成在字段中键入的随机数或随机数的数量。它将根据您在输入中添加的随机数数量进行排序,并将随机数取为0和范围。我在输入中写15,范围=10,我将有15个随机数,分别是0和10。唯一的问题是,它将在最后一个排序的数字上停止,因此如果你有0乘以9,它将不会显示9^^^我可以马上修复它。我很抱歉,因为我对学习非常陌生。这似乎工作完美。但是我看不出它在哪里显示随机数你是说在代码中还是?如果这在JSFIDLE上没有显示任何内容,是因为您必须单击“数字的数量:”(就像您在js FIDLE中所做的那样)如果它在代码中,我通过将它们添加到一个带有createTextNode的段落中来显示数字,该段落将附加到您的容器中(第二个用于)您在代码中写到,函数名为link元素的onclick(),因此您必须单击链接来调用方法addFields查看我上面链接的JSFIDLE,并在internet上查看“html中的链接”和“onclick”
function addFields() {
    var number = document.getElementById("Rando").value;
    var container = document.getElementById("container");


    while (container.hasChildNodes()) {
        container.removeChild(container.lastChild);
    }
    for (i = 0; i < number; i++) {
        //move arr here
        var Numbro = Math.floor((Math.random() * 10) + 1);
        container.appendChild(document.createTextNode(" " + (Numbro)));
        var input = document.createElement("input");
        input.type = "number";
        container.appendChild(document.createElement("br"));



    }



}


var dataset = [1, 2, 3, 4, 5, 2, 3, ];

function findOccurrences(arr, val) {

    var i, j,
        count = 0;
    for (i = 0, j = arr.length; i < j; i++) {
        (arr[i] === val) && count++;
    }
    return count;
}

document.write("one " + findOccurrences(dataset, 1) + "<br>");
document.write("Two " + findOccurrences(dataset, 2) + "<br>");
document.write("Three " + findOccurrences(dataset, 3) + "<br>");
document.write("Four " + findOccurrences(dataset, 4) + "<br>");
document.write("Five " + findOccurrences(dataset, 5) + "<br>");
document.write("Six " + findOccurrences(dataset, 6) + "<br>");
document.write("Seven " + findOccurrences(dataset, 7) + "<br>");
document.write("Eight " + findOccurrences(dataset, 8) + "<br>");
document.write("Nine " + findOccurrences(dataset, 9) + "<br>");
document.write("Ten " + findOccurrences(dataset, 10) + "<br>");
function addFields() {
  var number = document.getElementById("Rando").value;
  var container = document.getElementById("container");
  var range = 10;    
  var nb = new Array(range);

  while (container.hasChildNodes()) {
    container.removeChild(container.lastChild);
  }

    var numberPicked = "Number Picked : ";
  for (i = 0; i < number; i++) {
    var Numbro = Math.floor((Math.random() * range)+1);
      numberPicked += " "+Numbro+" ; "
      if(nb[Numbro] == undefined)
          nb[Numbro] = 0;
      nb[Numbro]++;
  }

    var textNode = document.createTextNode(numberPicked) ;
    container.appendChild(textNode);
    container.appendChild(document.createElement("br"));

  for  (i = 0; i < nb.length; i++) {
    var textNode = document.createTextNode("number of  "+i+ " : " + (nb[i] || 0 )) ;
    container.appendChild(textNode);
    container.appendChild(document.createElement("br"));
  }
}