2013-02-24 180 views

回答

0

在js中,與php不同,哈希和數組是兩個不同的東西。

所以,我假設你想要一個對象作爲最終結果而不是數組。

var $array1 = array(1,2,3); 
var $array2 = array(dog, cat, fox); 
var obj = {}; 

for(var i=0,len=$array1.length; i < len ;i++) { 
obj[$array1[i]] = $array2[i]; 
} 

另外,請看array_combine in js

你會發現很多其他的js等價的php函數。

2

使用jQuery,使用循環:

var array3 = {}; 
$.each(array1, function(i) { 
    array3[array1[i]] = array2[i]; 
}); 
0

一個簡單for循環應該這樣做就好了。

var arr1 = [3, 5, 7],  // keys, integers or "integer strings" e.g. "5" 
    arr2 = ['a', 'b', 'c']; // values 

var arr3 = [], i; 

for (i = 0; i < arr1.length; ++i) { 
    arr3[arr1[i]] = arr2[i]; 
} 

arr3; // [undefined × 3, "a", undefined × 1, "b", undefined × 1, "c"] 

編輯:如果您使用非整數(例如,不12,..或'1''2',..)作爲鍵,那麼你想在JavaScript創建究竟是不是一個陣列,但是一個對象myObj = {}。一個數組不會抱怨添加這樣的密鑰,因爲在JavaScript中它從繼承對象,但它會被認爲是不好的做法,很難調試。

0
var array3 = {}; 
for (var i = 0; i < array1.length; i++) { 
    array3[array1[i]] = array2[i]; 
} 
相關問題