0

I have a variable lets say x like this

x = {
  choice1: {
    choice: {
      name: "choice1",
      text: "abc",
      key: "key1"
    }
    isChecked: true
  },

  choice2: {
    choice: {
      name: "choice2",
      text: "def ",
      key: "key2"
    }
    isChecked: false
  }.

  choice3: {
    choice: {
      name: "choice3",
      text: "ijk ",
      key: "key3"
    }
    isChecked: false
  }

}

I want to get the key for which isChecked is true

Thanks in advance for help

Vivek Jain
  • 2,730
  • 6
  • 12
  • 27

1 Answers1

0

Use Object.values to get the values from your object and on this Array#filter.

let x = {
  choice1:{ 
    choice: {name: "choice1", text: "abc", key: "key1"},
    isChecked: true
  },

  choice2:{
      choice: {name: "choice2", text: "def ", key: "key2"},
      isChecked: false
  },
  choice3:{
    choice: {name: "choice3", text: "ijk ", key:"key3"},
    isChecked: false
  }
};

let res = Object.values(x).filter(el => el.isChecked);
console.log(res);
Sascha
  • 4,576
  • 3
  • 13
  • 34