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

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 性能優(yōu)化的問題

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

問題描述

javascript - 性能優(yōu)化的問題

javascript - 性能優(yōu)化的問題這段代碼怎么優(yōu)化, 老大說 轉(zhuǎn)成ES6的map數(shù)據(jù)結(jié)構(gòu),我轉(zhuǎn)的可能不對(duì)好像更慢啦

javascript - 性能優(yōu)化的問題這是我做的優(yōu)化,好像更慢了 請(qǐng)大神們指教

問題解答

回答1:

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

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

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

如果說采用 map 來實(shí)現(xiàn),也不需要用 ES6 的 Map,因?yàn)樵鷮?duì)象就支持 string 類型的 key,但不管怎么實(shí)現(xiàn),這個(gè) map 的轉(zhuǎn)換應(yīng)該在 getServiceTypeName 之外進(jìn)行。因?yàn)檗D(zhuǎn)換的過程比你寫的 for ... of 更耗時(shí)。

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初始化一次就可以了,你循環(huán)中每次都在初始化,這樣會(huì)比較慢。

補(bǔ)充說明

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();//預(yù)先初始化,應(yīng)用啟動(dòng)前或確保在getServiceTypeName服務(wù)調(diào)用前已經(jīng)被初始化完成。getServiceTypeName=function (code) { return serviceTypeList.get(code);}console.log(getServiceTypeName(2)); //輸出:second回答3:

...

先轉(zhuǎn)成鍵值對(duì)為name:Id的map結(jié)構(gòu)。然后就可以直接用name去拿相應(yīng)的id。你完全沒搞懂他給你說的方法的意思。

先把type數(shù)組轉(zhuǎn)化成map結(jié)構(gòu),然后通過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:

循環(huán)里做filter這個(gè)操作本身不慢的。

什么轉(zhuǎn)成map的方案需要考慮轉(zhuǎn)換本身的開銷

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 九九99香蕉在线视频网站 | 国产综合亚洲专区在线 | 美女扒开腿让男人桶爽免费动态图 | 在线播放国产一区二区三区 | 亚州一级毛片在线 | 国产一级免费片 | 欧美一a级做爰 | 偷自拍第一页 | 亚洲免费网址 | 成人午夜毛片 | 大尺度福利视频在线观看网址 | 99精品视频在线观看免费播放 | 国内精品久久久久久久aa护士 | 日韩免费高清 | 欧美xx一片 | 欧美一线不卡在线播放 | 免费一级网站 | 国内精品亚洲 | 狠狠色狠狠色综合 | 深夜福利网站在线观看 | 找国产毛片 | 成人免费观看永久24小时 | 精品理论片一区二区三区 | 国产国模福利视频 | 国产片毛片| 亚洲精品久久一区影院 | 久久草在线精品 | 国产精品福利视频萌白酱 | 欧美特级大片 | 欧美日韩国产亚洲一区二区 | 92精品国产成人观看免费 | 一本久道久久综合中文字幕 | 色久视频 | 亚洲一区二区三区高清 | 国产欧美日韩一区二区三区 | 久久精品视| 7777在线视频| 日韩3级 | 国产手机免费视频 | 午夜免费一级片 | 美女图片1314mm爽爽爽 |