У меня есть ul
, содержащий li
, в котором содержатся названия разных ингредиентов рецептов для страницы рецепта. Я пытаюсь получить эти ингредиенты и хранить их в массиве JavaScript внутри объекта. Я уже знаю название рецепта, поэтому я положил это прямо в свойство объекта title
, но я не знаю, сколько ингредиентов будет для каждого рецепта. Вот что у меня есть:Заполнение массивов после их определения
var recipeobj = {
title: $('h3.title').val(),
ingredients: [
ingredient,
optional
]
}
$.each($('ul.ingredients > li > h4'), function (index, ingredient) {
recipeobj.ingredients[index].ingredient = $(ingredient).html();
recipeobj.ingredients[index].optional = false;
})
Если я пытаюсь сделать console.log(recipeobj.ingredients)
я просто получаю ошибку Uncaught ReferenceError: ingredient is not defined
Нет сомнений, что это просто, я просто редко нужно использовать массивы в JavaScript так мало опыта работы с ними ,
Вы, кажется, возникли проблемы с массивами и объектами. Для чего «необязательно»? – blex
Вы смешиваете javascript и javascript объектную нотацию. Тогда у вас есть другие проблемы с синтаксисом. – eyegropram
@eyegropram без проблем с этим, javascript object notation (JSON) - это Javascript. Основная проблема заключается в том, что он использует переменные до их определения. Но, тем не менее, окончательная желаемая структура не очень ясна. Фрейт, не могли бы вы привести пример того, как должен выглядеть последний 'recipeobj'? – blex