2015-11-03 24 views
0

有三個陣列,將數組存儲爲使用javascript的json中的密鑰對?

var names = ["Increment","Decrement"] 
var values1 = [1,2,3,4,5,6] 
var values2 = [7,8,9,10,11] 

現在我想建立一個JSON像

{"names":[ 
    {"Increment":"1,2,3,4,5,6"}, 
    {"Decrement":"7,8,9,10,11"} 
]} 
+0

什麼是增量的數據類型?爲什麼你想要用對象而不是帶有屬性的對象來獲取數組? –

+1

@Sarath,爲什麼編輯想要的結果? –

+0

@nina是的..用戶2860954表示解釋和un-formated陣列..作爲他的結果和要求JSON .. – Sarath

回答

1

創建一個空的對象,並改變它的性質。

var names = ["Increment","Decrement"]; 
var values1 = [1,2,3,4,5,6]; 
var values2 = [7,8,9,10,11]; 

var json = [{}]; 

json[0].Increment = values1.toString(); 
json[0].Decrement = values2.toString(); 

console.log(JSON.stringify(json)); 
1

你可以像這樣做:

var names = ["Increment","Decrement"]; 
var values1 = [1,2,3,4,5,6]; 
var values2 = [7,8,9,10,11]; 

var yourArray = []; 

for (var i = 0, len = names.length; i < len; i++) { 
    o = {}; 
    o[names[i]] = windows['values'+ i].join(','); 
    yourArray.push(o); 
} 
1

我建議將數據結構更改爲更緊湊的風格。

var names = ["Increment", "Decrement"], 
    values1 = [1, 2, 3, 4, 5, 6], 
    values2 = [7, 8, 9, 10, 11], 
    obj = {}; 

obj[names[0]] = values1; 
obj[names[1]] = values2; 

結果:

{ 
    Increment: [1, 2, 3, 4, 5, 6], 
    Decrement: [7, 8, 9, 10, 11] 
} 

要生成一個JSON,你可以用它JSON.stringify()轉換爲字符串。

0

var result = {'names' : names.map(function(val, ind) { var elem = {}; elem[val] = this['values' + ++ind].toString(); return elem; }) };

相關問題