亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

nodejs計使用 數組indexOf去重,特別耗時

nodejs計使用 數組indexOf去重,特別耗時

DIEA 2018-07-04 15:14:08
如標題,使用數組方法indexOf來進行去重操作,為什么特別耗時,如圖代碼有什么優化方法。
查看完整描述

3 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

Array.from(new Set(arr))用這個方法去重試試

查看完整回答
反對 回復 2018-07-11
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

我不知道怎么提高,但是我說一點啊,根據我們公司的編碼規范和個人習慣,數組的長度應該提前聲明出來,不然每次循環都要計算數組的長度

查看完整回答
反對 回復 2018-07-11
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

建議簡化一下邏輯并附加一些測試數據,沒多少人會有閑工夫通讀你的代碼,研究你的數據結構,然后再自己寫代碼給你產生一些測試數據,然后再想辦法把你的代碼片段放進去,進行測試

另外說明一下都用了什么包。我能猜出來有momentjs,但是decimal是什么東西?或許這個才是耗時的罪魁禍首呢?

一個簡單的建議,用Set

var a = [1,2,3,4,5];console.time("array");for(var i=0;i<100000;i++){a.indexOf(9);}console.timeEnd("array");

// array: 6.19287109375ms


var a = new Set([1,2,3,4,5]);console.time("set");for(var i=0;i<100000;i++){a.has(9);}console.timeEnd("set");

// set: 2.494140625ms

以及
for (var j = 0, l = data.length - 1; j < l; j++) {

查看完整回答
反對 回復 2018-07-11
  • 3 回答
  • 0 關注
  • 1616 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號