看板 Ajax 關於我們 聯絡資訊
我有一個字串陣列 var ary = ["a,a,a;b,b,b", "c,c,c;d,d,d", "e,e,e;f,f,f" .....] 而我裡面又還要分成二種陣列 一個是用分號分,一個是字逗號分 而且要比對 例: a,a,a陣列要比對c,c,c及e,e,e陣列 b,b,b陣列要比對d,d,d及f,f,f陣列 再來a,a,a要比對d,d,d f,f,f 再來c,c,c要比對b,b,b f,f,f 當然這個字串陣列是不等的,有比較有率的方式嗎? 而且比對到有相同的,就要回傳ary是哪一個index發生重復 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.124.103 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1428678882.A.460.html
swallowcc: 這個陣列的來源是? 04/11 21:00
mmis1000: 你的相同的定義是? 04/11 21:20
Panasonic: 效率喔...可能要先排序然後run time用二分搜尋 04/12 18:33
mmis1000: 開一個dict,用a,a,a當key,紀錄它是在哪一個index上 04/12 18:42
mmis1000: 然後如果下次又爬到a,a,a,就知道上一個a,a,a的位置了 04/12 18:43
mmis1000: http://jsbin.com/tanihe/1/edit?html,js 04/12 18:51
mmis1000: 這樣只要爬過一輪,搜索就結束了 04/12 18:52
mmis1000: 好吧,測試起來,用array似乎比較快 04/13 02:54
mmis1000: 但那是數據順序一致的前提,正常的話還是dict快 04/13 02:59