如何检查会话对象是否包含任何对象?

时间:2017-10-09 05:05:07

标签: javascript node.js session express express-session

在我的会话对象中,我有各种可以通过以下方式访问的项目:

req.session.foo;
req.session.bar;
req.session.baz;

等!

我的问题是,而不是做这样的事情:

if(req.session.foo || req.session.bar || req.session.baz..){
    //Do something
}

有没有办法检查req.session是否包含任何对象(foo,bar,baz等,而不必单独检查每个对象?)

2 个答案:

答案 0 :(得分:2)

您可以使用类似if(Object.keys(req.session).length > 0)

的内容

答案 1 :(得分:2)

if(Object.keys(req.session).length) {
    // do something;
}

//如果有任何密钥,则长度为正数,如果不是则返回0,因此程序不会进入if块。这样可以节省时间,因为这样可以节省比较时间