2016-05-18 5 views
0

ここでは、空の配列製品にproduct_detailをプッシュしています。最初は配列が空であるかどうかチェックしています。もしそうなら、jsonデータが配列にプッシュされ、セッションで更新されます。もしそうでなければ、idを持つオブジェクトが存在するかどうかを検証したいと思います。条件が真実になっていない。検証セッションの配列にオブジェクトがある場合

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"); 
} 
+0

'forEach'が条件内であってはならない、それは次のようになります。 – AshBringer

+0

適切なデバッグを行うために十分なバックグラウンド/説明をコードに提供していませんが、あなたは 'else'式を間違いなく忘れてしまい、ループ状態がまったく機能しません。 –

+0

@AshBringerだから私は条件としての機能を持っていないのですか? – Ankit

答えて

1

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); 
}); 
誤って私が欠けているか、私は条件を入れているものを知っているだけに、あなたのネストされた条件を変更いけませんループ内の条件
+1

ありがとう – Ankit

関連する問題