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

How to check if session object contains any object at all?

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

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 等,而不必单独检查每个对象?)

你可以使用这样的东西if(Object.keys(req.session).length > 0)

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

// 如果有键,则长度为正数,如果没有则为 return 0 所以程序不会进入 if 块。这会减少时间复杂度,因为这样可以节省比较时间