验证会话中是否存在对象's数组

verifying If an object is present in the session's array

本文关键字:数组 对象 会话 是否 存在 验证      更新时间:2023-09-26

这里我将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);
});

只需将嵌套条件更改为:

var arrayTrue = true;
req.session.product.forEach(function(data) {
    if(data.product_id == req.params._id){
        arrayTrue = false;
    }
});
if(arrayTrue){
    // Doesn't exist...
}
else{
    return res.send("Product already present");
}