Я хочу использовать Lodash, чтобы получить метку для каждого животного с истинным значением.
Ожидаемый результат: ['DOG', 'CAT']
Есть ли способ сделать это без использования result.push
?.
Как я могу заставить trueKeysLabel
получить ярлык с животным от labelList
?
var result = [],
labelList = {
dog: 'DOG',
cat: 'CAT',
monkey: 'MONKEY'
},
animalList = {
dog: true,
cat: true,
monkey: false
}
trueKeys = _.filter(_.keys(animalList), function(key) {
return animalList[key];
});
_.forEach(trueKeys, function(key) {
result.push(_.get(labelList, key));
});
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
Я пробовал _.get
, но когда он используется в пределах _.forEach
, trueKeysLabel
равен ключам ['dog', 'cat']
вместо их значений.
var trueKeysLabel = _.forEach(trueKeys, function(key) {
return _.get(labelList, key);
});