2016-01-10 4 views
0

В JavaScript, скажем, у меня есть это:Как получить все имена, значение которых истинно?

var foo = { a: true, b: false, c: true }; 

Как я могу получить все имена, значения которых являются истинными? В приведенном выше случае, этот код будет возвращать ['a', 'c']

+0

Похоже, результат должен быть '[ "а", "с"]', а не '[ 'а', 'б']' ... –

+0

@Denys да, извините. исправленный – user69715

ответ

8

Это очень просто:

let trues = Object.keys(foo).filter(n=>foo[n]); 

Если вы хотите, чтобы быть совместимым с ES5 (который является хорошей идеей сегодня, если ваш код работает untranspiled в браузере) используйте

var trues = Object.keys(foo).filter(function(n){ return foo[n] }); 
Смежные вопросы