第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

先filter后再跑for,效能會比直接跑for好嗎

先filter后再跑for,效能會比直接跑for好嗎

慕尼黑8549860 2019-02-15 11:59:57
一種是先做過濾,然后再跑forEach或for做事情function test(a) {    this.test.filter(function (i) {        return a.id == i.id;     }).forEach(function (item) {         a.isOpen = !a.isOpen;     }); }一種是直接用forEach或for處理function test(c){    for (let i in this.test)        if(test[i].id == c.id)            test[i].isOpen = !cards[i].isOpen }代碼僅供參考,想知道的是資料量很大時先filter濾出想要的東西后再跑for,效能會比直接跑for好嗎?
查看完整描述

1 回答

?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

通常情況下,循環(huán)次數(shù)都是越少越好filter本質(zhì)也是先通過for循環(huán)過濾后再返回,因此第一種的優(yōu)點就是簡化了寫法,但同時循環(huán)了兩輪。而第二種判斷及賦值一個for循環(huán)就解決了。

究竟用哪種是看你 需求 來的

第一種 數(shù)據(jù)量小時,filter寫法,簡化了代碼,看上去更直觀,可讀性更高,但數(shù)據(jù)量特別大時效率會很低,同時不兼容低版本ie
第二種 瀏覽器都支持,邏輯復(fù)雜了之后代碼可讀性會較差,但是數(shù)據(jù)量大時效率要比filterforEach組合的方式高不少

但是通常場景下日常操作的數(shù)據(jù)量不可能十分龐大,而且前端處理特別大數(shù)據(jù)量的需求也不合理,究竟如何取舍還是看開發(fā)環(huán)境來的


查看完整回答
反對 回復(fù) 2019-02-15
  • 1 回答
  • 0 關(guān)注
  • 474 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號