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

时间:2015-02-10 16:07:44

标签: javascript

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

因此,如果他们要求10个随机数,他们就可以看到他们的数字以及每个数字的数量。不知怎的,我需要[1,2,3,4,5,2,3]来提取结果..

https://jsfiddle.net/by62764z/6/

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>");

1 个答案:

答案 0 :(得分:0)

它非常非常非常丑陋并且做得很快,但这很有效(如果我得到了你想要的东西)。

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"));
  }
}

如果我所做的就是你想要的,我可以帮助你做得更好^^

https://jsfiddle.net/boj93dct/