Как найти и изменить объект в многомерном массиве на основе значения ключа?
Подскажите как правильно найти объект и изменить его по имеющемуся ключу "id".
Ранее мне подсказали, как удалить объект из массива по ключу, но дальше уже не смог додумать.
Я понимаю что бы сохранить изменения в массиве, мне надо собрать (составить) "адрес из ключей вложенности". itemsData[1]['children'][2] = editItemObject
Но как не могу понять.
В вашем коде нет элемента itemsData[1][0].
Попробуйте описать что вы пытаетесь с этим всем сделать и зачем вам понадобились эти "адреса из ключей".
Они на на самом деле довольно редко используются в таком виде. Чаще нужно получить нужный объект (или перебрать все) и выбрать определенные данные (или внести изменения), опираясь при этом на структуру данных, а не на "адреса из ключей".
Да немного торопился, некорректно написал.
Массив это элементы многоуровнего меню. Есть метод который удаляет один из пунктов меню, а есть метод который должен редактировать пункт меню. Пунктом меню и является по сути объект с данными (id, text). При редактировании меняется только значение ключа "text".
Для примера: как мне отредактировать объект зная его ID, к примеру это ID=4, т.е. я понимаю что зная все всего родительские индексы я это сделал бы вот так: itemsData[1]['children'][2]['text'] = 'новая запись!'
Но как мне высчитать эти родительские ключи. Или возможно есть список намного проще и я пошел не тем путём.