1.js里將兩個數組轉為對象,第一個數組為key,第二個為value。如[1,2,5]和[18,8,6]轉換成對象{1:18,2:8,5:6}。
2.js里將多個數組轉為對象,每個數組只有兩個值,轉成的對象以每個數組里的首位為key,第二位為value。如[a,1]和[b,2]、[c,3]轉換成對象{a:1,b:2,c:3}。
只要使用underscore.js框架中的_.object方法就可以辦到,不需要寫復雜的for語句來遍歷,具體實現如下:
_.object(['moe', 'larry', 'curly'], [30, 40, 50]); => {moe: 30, larry: 40, curly: 50}
_.object([['moe', 30], ['larry', 40], ['curly', 50]]);
=> {moe: 30, larry: 40, curly: 50}
以下是_.object()方法在underscore里的源碼,如果項目沒有引用underscore庫,也可以像下面那樣自己寫for循環:
_.object(list,values){ var result={}; for(var i=0;i<list.length;i++){ if(values){ result[list[i]]=values[i]; }else{ result[list[i][0]]=list[i][1]; } } return result; }