Match key to find object data in JavaScript

Viewed 48

I have an object like:

{
  sunday: {status: "open", opening_time: "11:30 am", closing_time: "12:00 pm"},
  monday: {status: "close", opening_time: "", closing_time: ""},
  tuesday: {status: "close", opening_time: "", closing_time: ""},
  wednesday: {status: "close", opening_time: "", closing_time: ""},
  thursday: {status: "close", opening_time: "", closing_time: ""},
  friday: {status: "close", opening_time: "", closing_time: ""},
  saturday: {status: "close", opening_time: "", closing_time: ""}
}

Also I have got the current data in a variable var curr = 'friday' . Now I need to find only the friday object from the collection which is friday: {status: "close", opening_time: "", closing_time: ""}.

How can I do that?

3 Answers

You can use like this.

let data = {
  sunday: {status: "open", opening_time: "11:30 am", closing_time: "12:00 pm"},
  monday: {status: "close", opening_time: "", closing_time: ""},
  tuesday: {status: "close", opening_time: "", closing_time: ""},
  wednesday: {status: "close", opening_time: "", closing_time: ""},
  thursday: {status: "close", opening_time: "", closing_time: ""},
  friday: {status: "close", opening_time: "", closing_time: ""},
  saturday: {status: "close", opening_time: "", closing_time: ""}
};
let curr = 'friday';
console.log(data[curr]);

Since its an object, do a check if the key exist. if yes use dot operator or square bracket to get value corresponding to the key.

let dict =  {
           sunday: {status: "open", opening_time: "11:30 am", closing_time: "12:00 pm"},
           monday: {status: "close", opening_time: "", closing_time: ""},
           tuesday: {status: "close", opening_time: "", closing_time: ""},
           wednesday: {status: "close", opening_time: "", closing_time: ""},
           thursday: {status: "close", opening_time: "", closing_time: ""},
           friday: {status: "close", opening_time: "", closing_time: ""},
           saturday: {status: "close", opening_time: "", closing_time: ""}
       }
var curr = 'friday';
if (curr  in dict)
{
   console.log(dict[curr ])
}

In JavaScript Object if you have key you can use normal index like myobj['key']

var myobj = {
  sunday: {status: "open", opening_time: "11:30 am", closing_time: "12:00 pm"},
  monday: {status: "close", opening_time: "", closing_time: ""},
  tuesday: {status: "close", opening_time: "", closing_time: ""},
  wednesday: {status: "close", opening_time: "", closing_time: ""},
  thursday: {status: "close", opening_time: "", closing_time: ""},
  friday: {status: "close", opening_time: "", closing_time: ""},
  saturday: {status: "close", opening_time: "", closing_time: ""}
}

console.log(myobj['friday']);

Related