У меня есть такой объект:
{
"id": 1,
"name": "first",
"sections": [
{
"id": 1,
"title": "First section",
"contents": [
{
"id": "123",
"title": "Sample title 1",
"description": "<html>code</html>",
},
{
"id": "124",
"title": "Sample title 2",
"description": "<html>code</html>"
},
{
"id": "125",
"title": "Some other sample",
"description": "<html>code</html>"
}
]
},
{
"id": 2,
"title": "Second section",
"contents": [
{
"id": "126",
"title": "Sample title 126",
"description": "<html>code</html>"
},
{
"id": "127",
"title": "Sample title 127",
"description": "<html>code</html>"
}
]
}
]
}
Я хочу удалить указанный c объект из массива содержимого по его идентификатору (все эти идентификаторы уникальны).
Я могу легко найти элемент, который я хочу удалить, но я не могу найти, в каком разделе этот элемент склеить его позже.
obj.sections.forEach(function(section) {
section.contents.forEach((content) => {
if (content.id == 125) {
console.log(content)
console.log(section)
}
})
})
В приведенном выше коде console.log (section) возвращает undefined. Как я могу получить позицию в массиве разделов, который содержит массив содержимого, который имеет специфицированный c идентификатор Например, id: 125 вернул бы позиции секций 0, так что я могу использовать сплайс для удаления этого элемента.
Если мой подход совершенно неверный, пожалуйста, укажите мне правильное направление, спасибо:)