如何通过更改对象之一来更新数组?
这将是我的数组代码
this.datas = [
{
index: 1,
name: 'Tony',
status: 'Absent',
reason: null
},
{
index: 2,
name: 'Chris',
status: 'Present',
reason: null
},
];
因此,现在我想编写一个函数来更新类似{reason:any reason}的原因,它从索引1,索引2保持不变。
到目前为止,我已经尝试过这些
setReason = reason => {
let data = [...this.state.nameList];
let ind = data.findIndex(el => el.index === 'number');
data[ind] = { ...data[ind], reason: reason };
this.setState({
nameList: data
});
};
最佳答案
更新数组的单个对象数据
您首先需要知道要更新的数组中对象的索引
例如想更新数组的第一个对象
this.datas[0].reason = 'My custom reason';
现在,您要通过在数组中查找对象来更新数组的对象,必须在其中添加循环
例如:更新名称为Chris的原因
for(i=0; i<this.datas.length; i++){
if(this.datas[i].name=='Chris'){
this.datas[i].reason = 'My custom reason';
break;
}
}
关于javascript - 如何在react native中更新数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56017034/