国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - 性能優化的問題

瀏覽:130日期:2023-03-09 13:59:01

問題描述

javascript - 性能優化的問題

javascript - 性能優化的問題這段代碼怎么優化, 老大說 轉成ES6的map數據結構,我轉的可能不對好像更慢啦

javascript - 性能優化的問題這是我做的優化,好像更慢了 請大神們指教

問題解答

回答1:

用 filter() 確實可以一句話搞定,但是,效率不高。其實可以用 find (參考 MDN)

function getServiceTypeName(code) { return serviceTypeList.find(val => val.name === code);}

可惜 IE 不支持 find(),所以在 MDN 文檔快結束的地方,有一個 Polyfill。

如果說采用 map 來實現,也不需要用 ES6 的 Map,因為原生對象就支持 string 類型的 key,但不管怎么實現,這個 map 的轉換應該在 getServiceTypeName 之外進行。因為轉換的過程比你寫的 for ... of 更耗時。

function toMap(list) { return list.reduce((map, item) => {map.set(item.name, item);return map; }, new Map());}serviceTypeMap = toMap(serviceTypeList);function getServiceTypeName(code) { return serviceTypeMap.get(code);}回答2:

objToStrMap初始化一次就可以了,你循環中每次都在初始化,這樣會比較慢。

補充說明

const objToStrMap=function (obj) { var myMap=new Map(); obj.forEach((item) => myMap.set(item.typeId, item.name) ); return myMap;}var serviceTypeList=[ {’typeId’:1,’name’:’first’ }, {’typeId’:2,’name’:’second’ },]function init(){ serviceTypeList= objToStrMap(serviceTypeList)}init();//預先初始化,應用啟動前或確保在getServiceTypeName服務調用前已經被初始化完成。getServiceTypeName=function (code) { return serviceTypeList.get(code);}console.log(getServiceTypeName(2)); //輸出:second回答3:

...

先轉成鍵值對為name:Id的map結構。然后就可以直接用name去拿相應的id。你完全沒搞懂他給你說的方法的意思。

先把type數組轉化成map結構,然后通過map.get(code)去拿就好了。不用遍歷。

回答4:

function中,可以這樣寫let result = serviceTypeList.map((val)=> val.typeId === code);retVal = result.name;

回答5:

半行代碼就搞定

serviceTypeList.filter(obj => obj.id==*code*)[0].name回答6:

循環里做filter這個操作本身不慢的。

什么轉成map的方案需要考慮轉換本身的開銷

一部分語言自帶的map實現,在集合很小的時候用的就是數組,省去了hashcode的操作反而提高效率

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 欧美亚洲国产精品久久 | 欧美一级第一免费高清 | 久久精品一区二区三区中文字幕 | 国产成年人网站 | 碰碰碰精品视频在线观看 | 韩国午夜三级理论 | 久久久久久久性高清毛片 | 久久精品国产精品青草色艺 | 亚洲欧美一区二区三区 | 一级做a爰片久久毛片免费看 | 狠狠色丁香九九婷婷综合五月 | 特级a毛片 | 亚洲欧美日韩一区 | 美国三级在线观看 | 国产日本三级欧美三级妇三级四 | 亚洲国产精品二区久久 | 亚洲看片网站 | fc2在线播放 | 免费播放国产性色生活片 | 久热免费在线观看 | 国产一区二区在线视频播放 | 国产精品漂亮美女在线观看 | 新版天堂资源中文8在线 | 国产午夜亚洲精品一区网站 | 久草在线视频免费播放 | 日本精品一区二区三区在线视频一 | 97国产成人精品免费视频 | 毛片在线观看视频 | 国内成人精品亚洲日本语音 | 久久全国免费久久青青小草 | 国产精品一区二区久久精品 | 欧美国产精品久久 | 一级片视频免费看 | 国产自在自线午夜精品视频在 | 成人免费一级毛片在线播放视频 | 视频二区好吊色永久视频 | 久久精品在现线观看免费15 | 亚洲精品久久久久影院 | 香蕉久久久 | 国产不卡一区二区三区免费视 | 亚洲欧美中文日韩在线v日本 |