将属性添加到对象数组 React Native

Vla*_*yan 3 javascript arrays state reactjs react-native

我使用一个调用 API 的库,该 API 返回一个对象数组:

new Promise((resolve) => {
  Kit.getSamples(walkingSample, (err, results) => {
    if (err) {
      return resolve([])
    }
    this.setState({
      ActivityItem: results
    })
  })
})
Run Code Online (Sandbox Code Playgroud)

其中 ActivityItem 是一个在 state 中定义的空数组。现在,这将返回如下内容:

[{
    "end": "2020-04-25T21:45:00.000+0200",
    "quantity": 11,
    "sourceName": "Health",
    "start": "2020-04-25T21:45:00.000+0200",
    "tracked": false
  },
  {
    "end": "2020-04-25T21:41:00.000+0200",
    "quantity": 21,
    "sourceName": "Health",
    "start": "2020-04-25T21:41:00.000+0200",
    "tracked": false
  }
]
Run Code Online (Sandbox Code Playgroud)

这是 API 返回的内容,这是存储在我的 ActivityItem 数组中的内容。但是除了 API 返回的内容之外,我还需要添加一个像“name”这样的属性来区分不同的未来调用。我想知道是否有任何方法可以向该数组添加一些属性,使其看起来像这样:

[{
    "name": 'Walking',
    end ": "
    2020 - 04 - 25 T21: 45: 00.000 + 0200 ", "
    quantity ": 11, "
    sourceName ": "
    Health ", "
    start ": "
    2020 - 04 - 25 T21: 45: 00.000 + 0200 ", "
    tracked ": false}, {
      "name": 'SomeOther',
      "end": "2020-04-25T21:41:00.000+0200",
      "quantity": 21,
      "sourceName": "Health",
      "start": "2020-04-25T21:41:00.000+0200",
      "tracked": false
    }]
Run Code Online (Sandbox Code Playgroud)

Her*_*rab 6

您可以使用 map 生成一个新数组并向每个对象添加一个属性:

const newData = data.map(item => return { ...item, name: 'Walking });
Run Code Online (Sandbox Code Playgroud)