2016-09-13 6 views
1

Новый для Lodash..like сегодня новый. Я нашел здесь сообщение, которое было довольно просто понять для фильтрации объекта по его ключам. SO PostОбработчик Lodash для получения значения ключа объекта

Так что я пытаюсь сделать, это похоже, но я хочу значение. Мое приложение предоставляет пользователю несколько вариантов приготовления напитка. На минимальном уровне они должны выбрать один вариант. Когда они не выбирают параметр, я хочу предупредить их о том, что они должны быть базовыми, если/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? Если вы видите какие-либо вопиющие ошибки с тем, что я пытаюсь сделать, сообщите мне. Я никогда не пробовал фильтровать такой объект, чтобы обучение продолжалось!

ответ

1

Адрес Lodash docs.

  1. _.values(pref) // возвращает [истинные, ложные, фальшивые, ложные]

  2. _.compact([true, false, false, false]) // возвращает [настоящие]

  3. _.isEmpty // проверяет массив пуст

if(_.isEmpty(_.compact(_.values(pref)))) {alert} else {run the program};

+0

Спасибо большое! Я читал документацию, пытаясь найти правильных обработчиков. Я ценю, что помощь работала как шарм! – rockchalkwushock

Смежные вопросы