2016-11-07 28 views
0

我目前正在使用JavaScript作爲前端的項目,並且在添加現有陣列上的密鑰時遇到了一些麻煩。如何在現有的陣列上添加密鑰javascript

我有一個對象,我想轉換數組javascript。

這裏是我的代碼如何將我的對象轉換爲數組。

 var obj = data[0]; 
     var site_value = Object.keys(obj).map(function (key) { return obj[key]; }); 

     var site_key = $.map(obj, function(value, key) { 
      return key; 
     }); 

site_value具有我的對象的值。 site_key有密鑰。

我想將我的site_key作爲key添加到site_value數組中。

示例數據:

site_value: 0:數組[4] 0:數組[4] 1:陣列[1] 2:數組[1] 3:數組[0]

site_key:

Array[49] 
    0:"AGB" 
    1:"BAK" 
    2:"BAN" 
    3:"BAR" 

我希望我的陣列是

AGB:Array[4] 
    0:Array[4] 
    1:Array[1] 
    2:Array[1] 
    3:Array[0] 

更新:

這是我的對象。

Array[1]0: 
    Object 
    AGB: Array[4] 
    BAK: Array[4] 
    BAN: Array[4] 

+0

你的obj是怎麼樣的? – Sreekanth

+0

我更新了這個問題,謝謝 –

+0

它看起來像你試圖獲得多維數組像php樣式,但javascript使用這個對象。 – daremachine

回答

0

你已經幾乎完成了它,我已經修改了它下面有點它返回的數組對象,

var obj = data[0]; 

var site_value = Object.keys(obj).map(function (key) { 
    var output = {}; 
    output[key] = obj[key]; 

    return output; 
}); 
+0

是0還是O? –

+0

對不起,這是一個變量。將其重命名爲'output'。 – Aruna

+0

我試過你的建議,但是它返回一個數組,但裏面是一個對象,它內部又是一個數組。我希望它是一個數組與前數組。 Agb [4] –

0

我可能會被誤解的問題,對不起,如果我。我想你想使用一個鍵「AGB」而不是一個數組索引的整數。在這種情況下,您可能會更好地使用對象而不是數組。也許是這樣的

var myObject = { 
AGB: Array[4], 
AGBarrays: [Array[4],Array[1],Array[1],Array[0]] 
}; 

然後,你可以通過密鑰和其他陣列通過索引來訪問AGB

+0

我需要它是一個數組,因爲數據將被加載到highchart.js –

+0

這是因爲highcharts給它的索引的描述? – user3634054

+0

如果是這種情況,使用一系列 – user3634054

相關問題