2016-01-10 37 views
0

在JavaScript中,讓我們說我有這樣的:如何獲取其值爲真的所有名稱?

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

我如何獲得所有其值的名稱是真的嗎?在上述情況下,該代碼將返回['a', 'c']

+0

貌似結果應該是'[ 「一」, 「C」]','不[ '一', 'b']'... –

+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] }); 
相關問題