从JavaScript Object中的值获取Key

时间:2017-07-10 14:28:10

标签: javascript object underscore.js javascript-objects

我有一个带有布尔值的JS对象,如下所示

var obj = {
    key_1: false,
    key_2: true,
    key_3: false
}

我知道只有一个值可以是真的。是否有相同的库方法,因为我找不到任何。

我尝试使用_.indexOf,但似乎无效

2 个答案:

答案 0 :(得分:2)

如果您知道只有一个true值,则可以find()使用Object.keys()返回该值的关键字。



var obj = {
  key_1: false,
  key_2: true,
  key_3: false
}

var key = Object.keys(obj).find(e => obj[e] == true);
console.log(key)




答案 1 :(得分:0)

其他解决方案不会超出它自己的范围。使它更纯粹"纯粹"
(少浏览器支持)



var obj = {
  key_1: false,
  key_2: true,
  key_3: false
}

var key = Object.entries(obj).find(a => a[1])[0]
console.log(key)