Javascript 如何在更新剩余对象的值时从对象中删除键值对?

Javascript 如何在更新剩余对象的值时从对象中删除键值对?,javascript,Javascript,const initialState={ 加载:null, 错误:null, 行项目:[ { id:1, 产品名称:“弯头15”, 产品名称:1, 小计:5548.95, 产品单位:“数量”, … } { id:2, 产品名称:“Tee 15”, 产品名称:3, 小计:24.25, 产品单位:“数量”, … } { id:3, 产品名称:“, 产品名称:0, 小计:0 } ]您可以使用delete从对象中删除属性。然后,您需要遍历其余属性并更新它们的键和其中的id属性 函数removeLine

const initialState={
加载:null,
错误:null,
行项目:[
{
id:1,
产品名称:“弯头15”,
产品名称:1,
小计:5548.95,
产品单位:“数量”,
…
}
{
id:2,
产品名称:“Tee 15”,
产品名称:3,
小计:24.25,
产品单位:“数量”,
…
}
{
id:3,
产品名称:“,
产品名称:0,
小计:0
}

]
您可以使用
delete
从对象中删除属性。然后,您需要遍历其余属性并更新它们的键和其中的
id
属性

函数removeLineItem(状态、索引){
删除state.lineItems[索引];
Object.keys(state.lineItems).forEach(k=>{
if(state.lineItems[k].id>index){
state.lineItems[k].id=k-1;//减量id
state.lineItems[k-1]=state.lineItems[k];//减量键
删除state.lineItems[k];//删除旧密钥
}
});
}
常量初始状态={
加载:null,
错误:null,
行项目:{
0: {
id:1,
产品名称:“弯头15”,
产品名称:1,
小计:5548.95,
产品单位:“数量”,
},
1: {
id:2,
产品名称:“Tee 15”,
产品名称:3,
小计:24.25,
产品单位:“数量”,
},
2: {
id:3,
产品名称:“,
产品名称:0,
小计:0
}
}
};
removeLineItem(初始状态,1);

console.log(initialState);
您可以使用
delete
从对象中删除属性。然后,您需要遍历其余属性并更新它们的键和其中的
id
属性

函数removeLineItem(状态、索引){
删除state.lineItems[索引];
Object.keys(state.lineItems).forEach(k=>{
if(state.lineItems[k].id>index){
state.lineItems[k].id=k-1;//减量id
state.lineItems[k-1]=state.lineItems[k];//减量键
删除state.lineItems[k];//删除旧密钥
}
});
}
常量初始状态={
加载:null,
错误:null,
行项目:{
0: {
id:1,
产品名称:“弯头15”,
产品名称:1,
小计:5548.95,
产品单位:“数量”,
},
1: {
id:2,
产品名称:“Tee 15”,
产品名称:3,
小计:24.25,
产品单位:“数量”,
},
2: {
id:3,
产品名称:“,
产品名称:0,
小计:0
}
}
};
removeLineItem(初始状态,1);

console.log(initialState);
您可以使用delete关键字从对象中删除特定的键

delete object['key']

可以使用delete关键字从对象中删除特定键

delete object['key']

所发布的问题似乎根本不包括解决问题的方法。StackOverflow希望您这样做,因为您的尝试有助于我们更好地了解您的需求。请编辑问题以显示您的尝试,以便说明您在a中遇到的特定问题。有关更多信息,请参阅并获取。是否有原因你使用的是带数字键的对象而不是数组?如果是数组,你可以使用
splice()
删除元素。为什么在删除后需要
id:3
id:2
呢?我想不应该更改id。@Barmar,谢谢这有助于删除项。可能需要使用循环来更新id属性value@Tuhim更新react数据网格中的序列号列。用户不希望在其数据网格中丢失序列号Grid发布的问题似乎根本不包括解决问题的内容。StackOverflow希望您能够这样做,因为您的尝试有助于我们更好地了解您的需求。请编辑问题以显示您的尝试,以便说明您在a中遇到的特定问题。有关更多信息,请参阅并获取。是否存在原因n您使用的是带有数字键的对象而不是数组?如果是数组,则可以使用
splice()
删除元素。为什么在删除后需要
id:3
id:2
呢?我想不应该更改id。@Barmar,谢谢这有助于删除项。可能需要使用循环来更新id属性value@Tuhim更新react数据网格中的序列号列。用户不希望在其数据网格中丢失序列号网格