【发布时间】:2016-05-18 18:09:25
【问题描述】:
在这里,我将product_detail 推送到一个空数组产品。首先,我正在检查数组是否为空,如果是,则将 json 数据推入数组并使用会话进行更新。如果不是,我想验证是否存在具有 id 的对象,如果是,则不会推送它。但条件并没有成为现实。不知道我错过了什么或者我错误地提出了条件
var product_details = {
product_id: product._id,
user_id: user_id,
};
if (product.length !== 0) {
if (req.session.product.forEach(function(data) {
(data.product_id == req.params._id)
})) {
return res.send("product already present ");
}
product.push(product_detail);
req.session.product = product;
return res.send(req.session.product);
}
product.push(product_detail);
req.session.product = product;
console.log(req.session);
return res.send(req.session.product);
});
【问题讨论】:
-
forEach不应该在条件内,它应该是循环内的条件 -
你没有为你的代码提供足够的背景/解释来正确调试它,但你肯定忘记了你的
else表达式并且循环条件根本不起作用。 -
@AshBringer 所以我不能将函数作为条件?
-
可以,但不是这个,它不返回任何东西,因此不能用于条件,它总是为假,因为
forEach返回undefined,这是错误的。 -
@ClemensHimmer 谢谢,我明白了为什么我是假的
标签: javascript node.js