Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重复的数字计数结果按升序排列_Javascript_Arrays_Sorting - Fatal编程技术网

Javascript 重复的数字计数结果按升序排列

Javascript 重复的数字计数结果按升序排列,javascript,arrays,sorting,Javascript,Arrays,Sorting,我试着按升序计算结果 下面是我的代码 var NewArray = [1,4,5,2,1,3,4,2,4,5,6,4,2,1,7]; var SortNewArray = NewArray.sort(); var SortNewArrayLength = SortNewArray.length; var prev = SortNewArray[0]; var count = 1; for(var i =0; i<SortNewArrayLength; i++)

我试着按升序计算结果

下面是我的代码

  var NewArray = [1,4,5,2,1,3,4,2,4,5,6,4,2,1,7];
  var SortNewArray = NewArray.sort();
  var SortNewArrayLength = SortNewArray.length;
  var prev = SortNewArray[0];
  var count = 1;
   for(var i =0; i<SortNewArrayLength; i++)
   {
     if(SortNewArray[i] == prev)
     {
         count++;
     }
    else
     {
         console.log(SortNewArray[i] + "  comes  " + count + "  times ");
         prev = SortNewArray[i];
         count = 1;
     }
  }
var NewArray=[1,4,5,2,1,3,4,2,4,5,6,4,2,1,7];
var SortNewArray=NewArray.sort();
var SortNewArray.length=SortNewArray.length;
var prev=SortNewArray[0];
var计数=1;

对于(var i=0;i更改
var count=1;
更改为
var count=0;
并更改

console.log(SortNewArray[i] + "  comes  " + count + "  times ");


这与
java
c
有关吗?c不代表c驱动器。;)收集频率并使用列表。这将有所帮助,我希望通过每个数字的出现次数(计数)输出。感谢它正常工作,我期待它能正常工作。非常感谢。
console.log(SortNewArray[i-1] + "  comes  " + count + "  times ");
var NewArray = [1,4,5,2,1,3,4,2,4,5,6,4,2,1,7];
var counts = {};

// first collect the count of each number
NewArray.forEach( function(n){
   if( counts[n] ){
        counts[n] += 1;   
   }
   else {
        counts[n] = 1;     
   }
});
// now counts = { 1:3, 2:3, 3:1, 4:4, 5:2, 6:1, 7:1 }

// get the keys (unique numbers from NewArray) and sort them by their values (count)
var keys = Object.keys( counts ).sort( function(a, b){
  return counts[a] > counts[b];  
})

// print key:value pairs sorted by value
keys.forEach( function( n ){
  console.log("%s comes %d times", n, counts[n] );  
})

/*
3 comes 1 times
6 comes 1 times
7 comes 1 times
5 comes 2 times
1 comes 3 times
2 comes 3 times
4 comes 4 times
*/