首页 > 解决方案 > 在遍历数组时创建对象

问题描述

我正在尝试使用数组中项目的值创建一个对象。

const arrOfObj = [
{city: 'Tokyo', country: 'Japan', ...other values},
{city: 'Paris', country: 'France', ...other values}, 
{city: 'London', country: 'UK', ...other values}, 
{city: 'New York', country: 'USA', ...other values}
]

预期对象:

const obj = {
Japan: 'Tokyo', 
France: 'Paris', 
UK: 'London', 
USA: 'New York'
}

你们有什么建议可以有效地实现这一目标吗?所有评论将不胜感激。谢谢你。

标签: javascriptarraysobject

解决方案


Object.fromEntries可以使用:

const arrOfObj = [
  { city: 'Tokyo'   , country: 'Japan'  },
  { city: 'Paris'   , country: 'France' }, 
  { city: 'London'  , country: 'UK'     }, 
  { city: 'New York', country: 'USA'    }
]

const obj = Object.fromEntries( arrOfObj.map(o => [o.country, o.city]) )

console.log( obj )


推荐阅读