[問題] 陣列比對的寫法

看板Ajax作者 (馬岱)時間11年前 (2014/08/29 17:26), 編輯推噓5(501)
留言6則, 3人參與, 最新討論串1/1
有三個陣列(舉例,所以數量都縮減了) 第一個 共五百個,value值初始為0 group = [{ name:1,value:0 } , {name:2, value:0} .... {name:500,value:0} ] 第二個記載要將value值設定為5的name setFive = [ 1,53,123,223,456 ] 第三個記載要將value值設定為10的name setTen = [ 3,34,323,445 ] 我的想法很直覺的就是想說用雙迴圈,group[i].name == setFive[j]這種 可是雙回圈的寫法似乎有點不好, 參照網路上有人用 indexOf的寫法 setFive.indexOf(group[i].name)來判斷 好像就少了一個for迴圈,會比較快嗎? 還是有其他更好(或者用angular)的方法呢? 謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.146.35 ※ 文章網址: http://www.ptt.cc/bbs/Ajax/M.1409304386.A.398.html

08/29 18:39, , 1F
$.each(setFive,function(key,value){
08/29 18:39, 1F

08/29 19:04, , 2F
group[value].name = 5; }
08/29 19:04, 2F

08/29 19:52, , 3F

09/05 22:38, , 4F
indexOf底層還是for啊..
09/05 22:38, 4F

09/05 22:40, , 5F

09/05 22:42, , 6F
處理資料建議可以看看underscore有沒有合用的
09/05 22:42, 6F
文章代碼(AID): #1K04T2EO (Ajax)
文章代碼(AID): #1K04T2EO (Ajax)