我有兩個數組:如何組合這兩個數組,使用第一個數組作爲鍵和第二個數組的值?
$array1 = array(1,2,3);
$array2 = array(dog, cat, fox);
我如何結合這兩個數組,使用鑰匙第一陣列,第二個的價值?
$array3 = array(1 => dog, 2 => cat, 4 => fox);
在php中,我們有array_combine();但我似乎無法找到在jQuery中執行此操作的好方法。
我有兩個數組:如何組合這兩個數組,使用第一個數組作爲鍵和第二個數組的值?
$array1 = array(1,2,3);
$array2 = array(dog, cat, fox);
我如何結合這兩個數組,使用鑰匙第一陣列,第二個的價值?
$array3 = array(1 => dog, 2 => cat, 4 => fox);
在php中,我們有array_combine();但我似乎無法找到在jQuery中執行此操作的好方法。
在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函數。
使用jQuery,使用循環:
var array3 = {};
$.each(array1, function(i) {
array3[array1[i]] = array2[i];
});
一個簡單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"]
編輯:如果您使用非整數(例如,不1
,2
,..或'1'
,'2'
,..)作爲鍵,那麼你想在JavaScript創建究竟是不是一個陣列,但是一個對象myObj = {}
。一個數組不會抱怨添加這樣的密鑰,因爲在JavaScript中它從繼承對象,但它會被認爲是不好的做法,很難調試。
var array3 = {};
for (var i = 0; i < array1.length; i++) {
array3[array1[i]] = array2[i];
}