点我去Gitee
点我去Gitee

修改数组的某个值

修改数组的某个值

不要在原数组上改

  • 如果只是简单的单纯数组,就用 slice 浅拷贝一下再改,
  • 如果是对象数组,就用 let two_brand = one_brand.map(o => Object.assign({}, o)) 的方法 深刻拷贝一下再改。
    用深拷贝或浅拷贝保证了元数据不变

浅拷贝代示范

handlerChangeRecord = (recordIndex, e) => {
    let recordTemp = this.state.record.slice()
    recordTemp[recordIndex] = e.target.value
    this.setState({
        record: recordTemp
    })
}

console.log('000',this.state.record)//不变
console.log('recordTemp',recordTemp)//变了
posted @ 2021-10-20 11:36  biuo  阅读(486)  评论(0编辑  收藏  举报