0
var myData = {
  "value1": {
      "ext": false
  },
  "value2": {
      "ext": false
  }
};

myData.value1.ext = true;

How can I loop through myData to see if the ext for all the properties in my object are true?

Something like this:

if (value1.ext === true && value2.ext === true) {
     //do something
}
Emma
  • 26,487
  • 10
  • 35
  • 65
Si8
  • 8,879
  • 21
  • 97
  • 209

4 Answers4

3

You can use every() on Object.values()

var myData = {
  "value1": {
      "ext": false
  },
  "value2": {
      "ext": false
  }
};


const res = Object.values(myData).every(x => x.ext);

console.log(res)
Maheer Ali
  • 34,163
  • 5
  • 36
  • 62
0

You could get the values and check the property.

var object = { value1: { ext: true }, value2: { ext: true } };

console.log(Object.values(object).every(({ ext }) => ext));
Nina Scholz
  • 351,820
  • 24
  • 303
  • 358
0

You can use every() to check if the values fit the condition:

var myData = {
  "value1": {
      "ext": false
  },
  "value2": {
      "ext": false
  }
};


const areValuesTrue = Object.keys(myData).every(value => myData[value].ext == true)

console.log(areValuesTrue)
Kobe
  • 5,888
  • 1
  • 13
  • 35
0

You can do Object.values and then map to get all the value of ext. Then use includes to check if any true is there

var myData = {
  "value1": {
    "ext": false
  },
  "value2": {
    "ext": false
  }
};
let k = Object.values(myData).map(item => item.ext);
// this will be true if any ext value is true
console.log(k.includes(true))
brk
  • 46,805
  • 5
  • 49
  • 71