Область видимости массива(что-то странное...)
Что это такое творится ?!
router.post('/admin/recipes/create_recipe', function (req, res) { var selectedIngredients = new Array(req.body.ingredients.length); for(var i = 0; i < req.body.ingredients.length; i++) { var id = new ObjectId(req.body.ingredients[i]); Ingredients.findById(id.path, function(err, ingredient) { console.log(ingredient);//выводит информацию про ингредиент selectedIngredients[i].push(ingredient); console.log(selectedIngredients[i]); //выводит информацию про выбранный елемент }); }; console.log("selectedIngredients");// а тут массив = [] }); |
yurikjke,
Хоть бы отформатировали код... router.post('/admin/recipes/create_recipe', function (req, res) { var selectedIngredients = new Array(req.body.ingredients.length); for(var i = 0; i < req.body.ingredients.length; i++) { var id = new ObjectId(req.body.ingredients[i]); Ingredients.findById(id.path, function(err, ingredient) { console.log(ingredient); selectedIngredients[i].push(ingredient); console.log(selectedIngredients[i]); }); }; console.log(selectedIngredients); }); |
yurikjke,
Короче, браток, я не понимаю зачем ты так используешь push selectedIngredients[i].push(ingredient); push это метод для чего-то положить в конец массива. И если ты не хочешь получить массив массивов, то надо исправить selectedIngredients[i] = ingredient; Ещё: 1) Тебе принципиально создавать массив фиксированной длины? var selectedIngredients = new Array(req.body.ingredients.length); 2) Ты грузишь цикл обращениями к свойству for(var i = 0; i < req.body.ingredients.length; i++) { |
А в чём собственно вопрос/проблема? :)
|
Часовой пояс GMT +3, время: 09:49. |