【发布时间】:2016-09-13 20:25:45
【问题描述】:
Lodash 的新手..就像今天一样。我在这里找到了一篇很容易理解的帖子,用于通过键过滤对象。 SO Post
所以我想做的是类似的,但我想要价值。我的应用程序为用户提供了多种调制饮料的选择。他们至少必须选择一个选项。当他们没有选择一个选项时,我想提醒他们他们必须这样做,所以我想要一个基本的 if/else。
我的对象:
var pref = {
'strong': $('#strong').find(':selected').val() === 'Yes',
'salty': $('#salty').find(':selected').val() === 'Yes',
'bitter': $('#bitter').find(':selected').val() === 'Yes',
'sweet': $('#sweet').find(':selected').val() === 'Yes',
'fruity': $('#fruity').find(':selected').val() === 'Yes'
};
当用户不选择任何内容时,我的每个键的值都会显示为false。
我现在的验证码:
function validateInputs(pref) {
var emptyFields = _.filter(pref, function(value, key) {
if (emptyFields.key === false) {
alert('You must select at least one option.');
} else {
// run program
randomDrink = myBartender.createDrink(pref);
}
});
}
所以我希望能够按以下值进行过滤:
if(all keys are false) {alert} else {run the program}
是否有一个处理程序可以返回我的 LoDash 密钥的值?如果您发现我正在尝试做的任何明显错误,请告诉我。我从未尝试过过滤这样的对象,所以学习正在进行中!
【问题讨论】:
标签: validation oop lodash