首页 > 解决方案 > 我应该为我的 JS 数据使用 JSON 还是多维数组?

问题描述

我想为机场声明一个常量数组/JSON 数据。数据应该由一个字符串索引,该字符串是一个机场代码。

就像是:

const AIRPORT_DATA = [
    ['EGLC',
      {'name' : 'London city', 
      'lat_long' : [51.5048, 0.0495], 
      'zoomOutParams' : 'lamin=48.40003249610685&lomin=-12.32666015625&lamax=54.41892996865827&lomax=12.436523437500002}'},
    ],
];

它显示了单个机场的数据,带有代码EGLC(显然,我会添加更多)。

我想像AIRPORT_DATA['EGLC'].nameorAIRPORT_DATA['EGLC'].lat_long等​​一样访问它

但是,正如我已经声明的那样,当我console.table(AIRPORT_DATA);,我得到

在此处输入图像描述

这是一个整数索引数组。

应该如何声明这些数据,以便我可以按机场代码对其进行索引?我不希望有十几个机场。我可能会为每个字段添加一些字符串或整数类型的字段,但不会更复杂。

标签: javascriptarraysjsondata-structures

解决方案


要使用AIRPORT_DATA['EGLC']您需要使用对象而不是数组来访问数据,因此:

const AIRPORT_DATA = {
  EGLC: {
      'name' : 'London city', 
      'lat_long' : [51.5048, 0.0495]
  }
}

console.log(AIRPORT_DATA['EGLC']);
console.log(AIRPORT_DATA['EGLC'].name);

另外值得注意的是,这不是 JSON,这是一个对象。JSON 是一种字符串表示法。这不是一个字符串。


推荐阅读