从对象数组中提取属性并存储在另一个对象数组中

时间:2019-04-12 02:46:04

标签: javascript arrays object javascript-objects

我有一个来自服务器的对象数组。

data:[
   {
    // values
   }
]

下面是该数组的一个对象元素。

0:
assignedTo:{
name: "Shokat iqbal"
},

category:{
name: "Fan"
},

complainer:{
name: "Testt"
},

details: "Makk Amjum and my name is yeh and i amthose who is ur father"

location: "Room number 87 blockasdas jknaksdnkaj knasdkan kasndka nasdkas"

status: "in-progress"

title: "My fan is damaged"

_id: "5cade948e0b7ce30c8ef2f05"

我想提取其某些属性,例如

Assignee: assignedTo.name, category: Category.name, Complainer:complainer.name

,并希望制作另一个看起来像这样的对象数组。

[
  {
   Assignee: assignedTo.name,
   Complainer: complainer.name,
   Category: category.name,
   title: title,
   location: location,
   details: details
  }
]

请帮我怎么做?

1 个答案:

答案 0 :(得分:0)

欢迎来到SO。尝试展示或谈论您尝试过的一些解决方案以及失败的地方总是好的。社区很棒,但他们也感谢尝试的人。

Array.map将为您解决问题

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

const formattedData = data.map(record => ({
  Assignee: record.assignedTo.name,
  Complainer: record.complainer.name,
  Category: record.category.name,
  title: record.title,
  location: record.location,
  details: record.details,
}));