1
我從某些會話變量創建一個MongoDB選擇器。如果會話值爲空,則選擇器不應包含該條件。用JavaScript中的if語句構造一個選擇器
我有一個選擇
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 {}
}
,當我添加另一個會話值只會變得更加複雜。
如何以更智能的方式獲得相同的結果?
看來您的代碼目前正常工作,而您正在尋求改進它。一般來說,這些問題對於這個網站來說太過分了,但是你可能會在[CodeReview.SE](http://codereview.stackexchange.com/tour)找到更好的運氣。請務必閱讀[他們的問題要求(http://codereview.stackexchange.com/help/on-topic),因爲它們比本網站更嚴格。 –
是的,我的代碼有效,但如果我有10多個會話變量來構造我的選擇器,這不是一種不切實際的方法嗎?我不認爲這是一個簡單的對立改進 – Jamgreen
那麼,你會看到更多的變數。確實有很大的改進空間,很大的空間。由於有很多方法可以做到這一點,所以不可能給出明確的答案,而「最佳」方式取決於代碼風格和個人偏好。 –