Область видимости массива(что-то странное...)
Что это такое творится ?!
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, время: 14:14. |