我有一个类似
的对象data: {
registrationNumber: 'MH1234',
type: 'xyz',
driver: {
user: {
firstName: 'xyz',
lastName: 'abc',
email: 'xyz',
phone: 1234,
city: 'random',
dateOfBirth: new Date(),
groups: [1]
}
},
owner: {
user: {
firstName: 'xyz',
lastName: 'abc',
email: 'xyz',
phone: '1234',
city: 'random',
groups: [1, 2]
},
kyc: [
{
method: 'xyz',
id: 'abcd'
},
{
method: 'xyz',
id: 'abcd'
}
]
}
}
如何删除路径data.owner.kyc.0
中的元素?
我尝试使用_.unset(),但这并不理想,因为删除后数组仍显示2个元素
答案 0 :(得分:0)
您可以使用_.remove
或_.filter
。
请参阅此example
答案 1 :(得分:0)
您不需要String deviceid = await DeviceId.getID;
来完成此操作。
使用lodash
从数组中删除第一个元素。
.shift()
使用let newData = {...data}
newData.owner.kyc.shift()
从特定点删除元素。
.splice()
使用let newData = {...data}
newData.owner.kyc.splice(0, 1)
删除不符合指定条件的项目
.filter()
由于您使用的是React,因此您希望这些数据处于组件状态,以便当您实际从阵列中删除某些内容时,App会更新以反映新结果。
请参阅沙箱:https://codesandbox.io/s/mystifying-fog-2yhwd
let newData = {...data}
newData.owner.kyc = newData.owner.kyc.filter((item, index) => {
return index !== 0
})
答案 2 :(得分:0)
您可以使用Array原型方法本身, 如果要从正面移除
Array.prototype.shift.apply(data.owner.kyc,null)