2015-08-24 4 views
0

В моем проекте я использую highcart для этого, я должен дать ввод в нижнем формате.Как создать многомерный массив в javascript

Вот мой пример данных:

[{"A",23},{"B",24},{"C",25},{"D",26},{"E",27}] 

Я должен преобразовать выше массив JSON ниже формат.

data=[["A",23],["B",24],["C",25],["D",26],["E",27]] 

Как повторить выборку данных образца и преобразовать вышеуказанный формат. Любая помощь будет принята с благодарностью !!!

+2

Я не считаю, что ваши данные образца является действительным. Каков формат в точности? {} эти скобки используются для указания объектов, но ваши ключи не имеют связанных значений – Domysee

ответ

0

[{"A",23},{"B",24},{"C",25},{"D",26},{"E",27}] неправильно,
она должна быть как [{"A":23},{"B":24},{"C":25},{"D":26},{"E":27}];

var data = [{"A":23},{"B":24},{"C":25},{"D":26},{"E":27}]; 
 
var newData = []; 
 
data.forEach(function(val,index){ 
 
    var keys = Object.keys(val); 
 
    keys.push(val[keys]); 
 
    newData.push(keys); 
 
    
 
}); 
 
alert(JSON.stringify(newData));

0

Поскольку ваш формат JSON ошибочен, вы не можете использовать его непосредственно на JSON.parse. Однако вы можете использовать regex для получения данных в указанном формате.

Шаги

  1. Заменить все { по [ и } по ], вы получите строку, которая выглядит как вложенные массивы
  2. Преобразовать строку в формате JSON с помощью JSON.parse(), чтобы получить массив из строки

var arr = '[{"A",23},{"B",24},{"C",25},{"D",26},{"E",27}]'; 
 

 
arr = JSON.parse(arr.replace(/\{/g, '[').replace(/\}/g, ']')); 
 

 
console.log(arr); 
 
console.log(arr[0][1]); // 23

Смежные вопросы