简体   繁体   English

如何在JavaScript中创建多维数组

[英]how to create multidimensional array in javascript

In my project i am using highcart for that i should give the input in below format. 在我的项目中,我正在使用highcart,我应该以以下格式输入。

Here is my sample data: 这是我的示例数据:

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

I have to convert the above json array to below format. 我必须将上面的json数组转换为下面的格式。

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

How to iterate my sample data and convert the above format. 如何迭代我的示例数据并转换以上格式。 Any help will be greatly appreciated!!! 任何帮助将不胜感激!!!

As your JSON format is wrong, you cannot use JSON.parse on it directly. 由于您的JSON格式错误,因此无法直接在其上使用JSON.parse However, you can use regex to get the data in the intended format. 但是,您可以使用regex以预期的格式获取数据。

Steps 脚步

  1. Replace all { by [ and } by ] , you'll get the string that looks like nested arrays 将所有{替换为[}替换为] ,您将获得类似于嵌套数组的字符串
  2. Convert the string to JSON using JSON.parse() to get the array from string 使用JSON.parse()将字符串转换为JSON以从字符串获取数组

 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 

[{"A",23},{"B",24},{"C",25},{"D",26},{"E",27}] is wrong, [{"A",23},{"B",24},{"C",25},{"D",26},{"E",27}]是错误的,
it should be like [{"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)); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM