如何获得对象的第一个真值并返回相应的键?

时间:2019-08-02 13:57:09

标签: javascript algorithm

我有一个对象:

var myObj = {called: false, invited: true, interviewed: false, offer: false}

如何找到第一个值为true的值,然后返回相应的键?

我想创建一个函数,给定一个始终具有相同结构的对象,该函数将向我返回第一个true值的键。

4 个答案:

答案 0 :(得分:1)

for(let key in myObj) {
    if(myObj[key]) return key;
}

答案 1 :(得分:1)

const myObj = {called: false, invited: true, interviewed: false, offer: false};

const getTrueKey = obj => {
  for (const key in obj) {
    if (obj[key]) return key;
  };
  return undefined;
};

console.log(getTrueKey(myObj));

答案 2 :(得分:0)

Object.keys(myObj).forEach(e => { if( myObj[e] === true ) { return e } });

工作中的JSFiddle:https://jsfiddle.net/pubLehga/

答案 3 :(得分:0)

这是一个更简单的解决方案

const myObj = {called: false, invited: true, interviewed: false, offer: false};


const getFirstTruthyItem = (obj) => Object.keys(obj).find((i) => obj[i] === true);

console.log(getFirstTruthyItem(myObj));