В приведенном ниже коде я хотел бы изменить поле «изображение» каждого объекта (статьи), хранящегося в массиве «статьи». Я знаю, что могу создать пустой массив и отправить глубокую копию каждой статьи одну за другой, используя оператор распространения, как описано здесь . Можно ли как-то изменить содержимое массива «на месте»? Я попытался передать статьи в качестве третьего аргумента, и я до сих пор не могу изменить поле «изображение» каждой статьи, хранящейся в массиве. Заранее спасибо.
let requests = articles.map((article, i)=>{
return new Promise((resolve) => {
articleImage.findById(article.image, (err, theImage)=>{
if(err) return res.status(400).send(err);
articles[i].image = theImage.source;
resolve();
});
});
});
Promise.all(requests).then(res.status(200).send(articles));