有三個陣列,將數組存儲爲使用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"}
]}
有三個陣列,將數組存儲爲使用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"}
]}
創建一個空的對象,並改變它的性質。
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));
你可以像這樣做:
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);
}
我建議將數據結構更改爲更緊湊的風格。
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()
轉換爲字符串。
var result = {'names' : names.map(function(val, ind) { var elem = {}; elem[val] = this['values' + ++ind].toString(); return elem; }) };
什麼是增量的數據類型?爲什麼你想要用對象而不是帶有屬性的對象來獲取數組? –
@Sarath,爲什麼編輯想要的結果? –
@nina是的..用戶2860954表示解釋和un-formated陣列..作爲他的結果和要求JSON .. – Sarath