АртемЪ, при чем здесь остановка? Если важен дальнейший исход работы одного метода/функции для части кода, то почему бы не поместить эту часть кода в callback-функцию, чем блокировать поток синхронным запросом? Если важна цепочка событий, которые можно выполнить асинхронно, но они должны выполняться друг за другом, то почему бы не сделать всё это путем вложения необходимого функционала в следующий callback? Разработчики очень долго и упорно двигаются к асинхронной обработке данных и событий, а вы предлагаете откатиться назад?
Только статьи типа "Как найти хорошего программиста" больше тянут на статью от одного HR другим в стиле "делимся опытом". Тут скорее вопрос в оригинальности контента и в том, о чем именно пытается рассказать специалистъ (востребовано это или нет).
Зачем для таких элементарных действий, скачивать дополнительно какие-то либы? Продублирую свой ответ: obj2 = JSON.parse(JSON.stringify(obj1)). Все просто и понятно. Смысл городить что-то?
12evgen, к слову, оценивается обычно не в целом работа, а каждый элемент, все пишется в таблицу и пишется итоговая цифра. Не стоит забывать так же про форс-мажоры, это тоже отдельный пункт.
Надо тогда для начала не начинать с PHP, а понять в принципе, что такое backend. Если вы уже работали во frontend-разработке, то основы должны быть известны. Часто можно на хабре найти дельные статьи для новичков по введению в ту или иную сферу.
Максим Тимофеев: Напомню, что json объект можно рассматривать как массив. Ты можешь все продукты сохранять в json объект. А их id (или номер), будет тем самым key к которому прикреплена вся инфа.
Так сможешь хранить хранить кучу разномастных объектов и иметь к ним быстрый доступ. При условии, если тебе это подходит. Как вариант №2.
Если ключ приходит в переменную ввиде строки, то ты можешь его использовать в виде индекса массива: cart["key_1"]
P.S.: JSON.stringify() - превращает объект в строку. Если надо получить объект, то используй JSON.parse().