Я использую функцию .filter javascript для удаления элемента по его идентификатору в TypeMp3List из этого массива объектов. Формат такой:
![enter image description here](https://i.stack.imgur.com/OFQgD.png)
Формат, который я хочу получить после выполнения фильтра при удалении, например, MP3 с ID:33390
, таков:
![enter image description here](https://i.stack.imgur.com/K9lTo.png)
Это код, который я построил до сих пор:
showDeleteConfirmation(value, id, index, thisHandler) {
confirm({
title: 'Voulez vous supprimer cette audio ?',
content: '',
okText: 'Oui, je confirme',
okType: 'danger',
cancelText: 'Non',
onOk() {
deleteMp3Request(id);
var { extraitMP3 } = thisHandler.state;
var array = [];
for (var key in extraitMP3) {
array.push(extraitMP3[key]);
}
console.log('array',array)
const result = array.map(d => ({
...d,
TypeMp3List:
Object.fromEntries(
Object.entries(d.TypeMp3List).filter(index => index !== id)
)
}))
console.log('result',result)
thisHandler.setState({result: result})
NotificationManager.success("le fichier audio est supprimé avec succès !", "");
},
onCancel() {
},
});
}
Проблема в том, что после сопоставления и фильтрации console.log(result)
дает мне те же результаты, что и console.log(array)
. Похоже, что с отображением и фильтрацией что-то не так, и я точно не знаю, что это такое. любая помощь будет оценена.