【发布时间】:2021-07-02 08:08:46
【问题描述】:
如何通过索引从对象数组中的对象数组中删除对象。
我想从数组中删除第一个对象,其中对象 id 为“A1”中的变量值
let data =
[
{ id: 'A1',
value: [ { uri: 'B45AA03A05B7.jpg', type: 'image/jpeg' },
{ uri: '30A42FBC1146.jpg', type: 'image/jpeg' } ]
},
{ id: 'A2',
value: [ { uri: 'G455HFG2FF56.jpg', type: 'image/jpeg' },
{ uri: 'TY6DFG7RTGF.jpg', type: 'image/jpeg' } ]
}
]
需要的输出
let data =
[
{ id: 'A1',
value: [ { uri: '30A42FBC1146.jpg', type: 'image/jpeg' } ]
},
{ id: 'A2',
value: [ { uri: 'G455HFG2FF56.jpg', type: 'image/jpeg' },
{ uri: 'TY6DFG7RTGF.jpg', type: 'image/jpeg' } ]
}
]
我试过了
const array1 = data.filter((item) => item.id == deleteId)
if (delIndex > -1) {
array1[0].value.splice(delIndex, 1);
}
【问题讨论】:
-
是的,你会这样做...如果
delIndex为0,则删除第一个,1删除第二个...delIndex如何设置? -
如果 deleteId 和 delIndex 设置正确,这应该可以工作。
-
为什么这个问题被标记为react-native?你在使用
data或array1吗?如果是这样,您可能不想使用splice(),因为不应改变状态,而只能重新分配。 -
很抱歉,但问题是什么?问题是什么? “我试过这个......”好的,代码对我来说看起来不错 -> 问题解决了吗?否则请解释你有什么问题。什么是不起作用?也许它怎么不工作?您得到的结果与您期望的结果有何不同。
标签: javascript arrays react-native array-splice