用JavaScript语句构造一个select器
我从一些会话variables创build一个MongoDBselect器。 如果会话值为空,则select器不应包含该条件。
我有一个select器
return Session.get('title') ? { title: Session.get('title') } : {};
它应该如此运作; 不过,我想过滤更多的会话值。
如果我添加另一个,我得到
var title = Session.get('title'); var age = Session.get('age'); if (title && age) { return { title: title, age: age }; } else if (title) { return { title: title }; } else if (age) { return { age: age } } else { return {} }
当我添加另一个会话值时它只会变得更加复杂。
我怎样才能以更聪明的方式获得同样的结果?
您可以使用数组来保存所有可能的值,然后在添加新值时添加到该数组中。
var sessionVars = ['title', 'age']; var result = {}; sessionVars.forEach(function(varName) { var value = Session.get(varName); if (value) { result[varName] = value; } }); return result;