尝试在for循环中改变对象。
我希望console.log(dish)
使用dish
属性记录ingredients
对象,该属性包含一系列未归档的ingredient
。
当我记录dish.ingredients
时,它会记录成分。
当我记录dish
时,它会记录没有成分的dish
个对象。
为什么会这样?
for (let dish of dishArray) {
dish['ingredients'] = []
for (let ingredient of ingredientsArray) {
if (dish._id.equals(ingredient._dishID)) {
dish['ingredients'].unshift(ingredient)
}
}
console.log(dish['ingredients']) <-------------
console.log(dish) <-------------
}
dishArray
是从mongoose查询返回的dish
个对象数组。
答案 0 :(得分:0)
如果不进一步了解您的代码,普通javascript ==
将完成这项工作
var dishArray = [{
_id: '0'
}, {
_id: '1'
}];
var ingredientsArray = [{
_id: '0',
_dishID: '0'
}, {
_id: '1',
_dishID: '1'
}];
for (let dish of dishArray) {
dish['ingredients'] = [];
for (let ingredient of ingredientsArray) {
if (dish._id == ingredient._dishID) {
dish['ingredients'].unshift(ingredient);
}
}
console.log(dish['ingredients']);
console.log(dish);
}