鍍金池/ 問答/HTML/ js 有10,000,000個范圍在100以內(nèi)的正整數(shù),求出每個數(shù)字出現(xiàn)的次數(shù),

js 有10,000,000個范圍在100以內(nèi)的正整數(shù),求出每個數(shù)字出現(xiàn)的次數(shù),請教一個耗時最短的方法

我的代碼:

let data = {};
  var date1=new Date();
  console.log('date1',date1.getTime())
  let data = {};
  let list = [,,,];
  list.length = 10000000;
  for (let i = 0; i < list.length; i++) {
    list[i] = Math.floor(Math.random() * 100);
    if(data[`${list[i]}`]){
      data[`${list[i]}`]++
    } else {
      data[`${list[i]}`] = 1
    }
  }
  for(let key in data) {
    if (isNaN(data[`${key}`])) {
      data[`${key}`] = 0
    }
  }
  var date2=new Date();
  console.log('時間差',date2.getTime()-date1.getTime())

這個代碼我看打印出時間差在700-750ms之間,感覺時間不短,能否把代碼更優(yōu)化?
這樣是嘗試出來最快的了

回答
編輯回答
陪我終

你這個寫法本身就有問題吧。。。追求性能之前,請先確保結(jié)果正確

2017年6月28日 02:10
編輯回答
蝶戀花

可以參考桶排序

2017年6月14日 18:01