我有一个这样的枚举,
enum Traits {
None = 0,
Friendly = 1 << 0, // 0001
Mean = 1 << 1, // 0010
Funny = 1 << 2, // 0100
Boring = 1 << 3, // 1000
All = ~(~0 << 4) // 1111
}
let traits = Traits.Mean | Traits.Funny
console.log(traits);
该控制台将记录
6
。怎么做相反呢?如果我通过6。我想获得
Traits.Mean , Traits.Funny
。 最佳答案
您可以执行以下操作:
for (var prop in Traits) {
if(Traits[prop] & 6) {
console.log(prop);
}
}