【问题标题】:Typescript JSON to Array打字稿 JSON 到数组
【发布时间】:2022-11-19 00:00:14
【问题描述】:

我正在尝试使用 JSON 中的键和值创建一个数组。我正在使用 i18n-iso-countries 库。我以这种 JSON 格式从国家/地区库中获取了所有国家/地区的变量:

{
  AD: "Andorra",
  AE: "United Arab Emirates",
  AF: "Afghanistan",
  AG: "Antigua and Barbuda",
  etc...
}

但是以 JSON 格式。

我知道我可以使用 Object.values(countries) 将 JSON 转换为一个对象,但是这样做,Key 丢失了,我得到了这种格式:

{
  0: "Afghanistan"
  1: "Albania"
  2: "Algeria"
  3: "American Samoa"
}

我想要的只是一个像这样的新数组:

[
  {
    id: 'AD'
    country: 'Andorra'
  },
  {
    id: 'AE'
    country: 'United Arab Emirates'
  }
]

ETC...

我想这与 forEach 我的国家和添加 id 作为键和国家作为值有关,但我无法解决它。

谢谢!

【问题讨论】:

  • Object.entries(json).map( ([key, value]) => ({id:key, country: value}) )
  • 谢谢!有效

标签: javascript angular typescript internationalization


【解决方案1】:

您可以使用 Object.entries() 从对象中获取键值对数组:

const countries = {
  AD: "Andorra",
  AE: "United Arab Emirates",
  AF: "Afghanistan",
  AG: "Antigua and Barbuda"
}

const countriesArray = Object.entries(countries).map(([id, country]) => ({ id, country }))

console.log(countriesArray)

【讨论】:

  • 我懂了!谢谢!成功了^^
  • 这与打字稿有什么关系?
猜你喜欢
  • 2023-03-07
  • 2017-09-23
  • 1970-01-01
  • 2016-11-01
  • 2023-03-10
  • 2020-12-27
  • 2018-06-14
  • 2019-01-13
  • 1970-01-01
相关资源
最近更新 更多