用JSON提供的javascript制作一个二维矩阵

Make a two-dimensions (bidimensional) matrix in javascript provided by JSON

本文关键字:一个 JSON 二维 javascript      更新时间:2023-09-26

我想从JSON中获取数据,并使用JavaScript将其放入二维矩阵中。

我在JSON中得到的值如下:

$(data).each(function(index,value){ // for each
  //getting my data values. Example: EU-New York
  var option = value.split('-'); // spliting by '-'
  var country = option[0]; // getting country
  var city = option[1]; // city
  // Here save to Javascript variable. For each Country, N cities.
}

示例以更好地理解对于每个国家,N个城市

country1 > city1
         > city2
         > city3
country2 > city1
         > city2

有没有办法制作一个二维矩阵并将其临时保存在Javascript变量中?

你在找这样的东西吗?

// Some mock data so we have something to play with
var data = [
  "US-New York",
  "US-Chicago",
  "UK-London",
  "UK-Manchester"
];
var dict = {};
$.each(data, function(i, item) {
      var split = item.split("-");
      if (!dict.hasOwnProperty(split[0])) {
          dict[split[0]] = [];
        }
        dict[split[0]].push(split[1]);
      }); 
console.dir(dict);
// stringified just so you can see what's happening.
alert(JSON.stringify(dict));
// example: get all cities in the US
alert(dict["US"]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

这将把data转换成这样的对象:

{
    "US": [
        "New York",
        "Chicago"
    ],
    "UK": [
        "London",
        "Manchester"
    ]
}

如果你想要所有的US城市,你可以这样得到:

var citiesInUS = dict["US"];

甚至:

var citiesInUS = dict.US;