ReactJS通过对象的状态数组循环并添加新字段

问题描述

我正在学习reactjs并得到一个json对象数组。我想遍历数组中的每个记录,读取id并使用字符串值添加/设置一个新字段。循环完成后,我将设置状态以保存状态集合。到目前为止,运气不佳。

非常感谢您的帮助。

     number                       cap words
0         0                            Ages
1         0                          Online
2         0                          Python
3         0                          Coding
4         0  CoursesAdwwwcodetodaycoukLearn
..      ...                             ...
140       8                           Guido
141       8                          Rossum
142       8                          Typing
143       8                            Duck
144       9                         Related

[145 rows x 2 columns]

我的目标是OrginalRecords中的每个记录都有一个名为newField ='Test'的新json字段。

谢谢

解决方法

只需使用地图功能做到这一点

const records = this.state.OriginalRecords

const newRecords = records.map(item =>  {
    return {...item,newField : 'Test'}
}); 

this.setState({OriginalRecords: newRecords,mappingDateDone: true})

,
const records = this.state.OriginalRecords

const mappedRecords = records.map(m => (function(m) {
    const item = this.state.OriginalRecords.find(record => record.id === m.id)
    // add and set the record new field
    item['newField'] = 'Test'
  }
))

this.setState({OriginalRecords: mappedRecords,mappingDateDone: true})