Dewinky
Dewinky

Reputation: 83

How to get the values in this object?

I have been trying to get the values from the below object without any luck. I know there are many answers out there, but I am a visual person and they are not working for my layout.

Also, how can I address the objects to change the values of "ringAlarm"?

var strRingAlarm = {
    sq1 :{ringAlarm:"OFF", alarmName:"Chime1"},
    sq2 :{ringAlarm:"NO", alarmName:"Chime2"},
    sq3 :{ringAlarm:"NO", alarmName:"Chime3"},
    sq4 :{ringAlarm:"NO", alarmName:"Chime4"},
    sq5 :{ringAlarm:"NO", alarmName:"Chime5"},
    sq6 :{ringAlarm:"NO", alarmName:"Chime6"},
    sq7 :{ringAlarm:"NO", alarmName:"Chime7"},
    sq8 :{ringAlarm:"NO", alarmName:"Chime8"},
    sq9 :{ringAlarm:"NO", alarmName:"Chime9"},
    sq10:{ringAlarm:"NO", alarmName:"Chime10"},
    sq11:{ringAlarm:"NO", alarmName:"Chime11"},
    sq12:{ringAlarm:"NO", alarmName:"Chime11"}
};
        Object.getOwnPropertyNames(strRingAlarm).forEach(function(val, idx, array) {
        console.log(val + ' -> ' + val.ringAlarm);
 }
)

Upvotes: 0

Views: 37

Answers (4)

Cameron
Cameron

Reputation: 434

If you have the name of a property of an object obj, the best way to get the value of that property is obj[name]. In this way, try this code block:

Object.getOwnPropertyNames(strRingAlarm).forEach(function(val, idx, array) {
  console.log(val + ' -> ' + strRingAlarm[val].ringAlarm);
});

Upvotes: 0

saikumar
saikumar

Reputation: 1051

var strRingAlarm = {
    sq1 :{ringAlarm:"OFF", alarmName:"Chime1"},
    sq2 :{ringAlarm:"NO", alarmName:"Chime2"},
    sq3 :{ringAlarm:"NO", alarmName:"Chime3"},
    sq4 :{ringAlarm:"NO", alarmName:"Chime4"},
    sq5 :{ringAlarm:"NO", alarmName:"Chime5"},
    sq6 :{ringAlarm:"NO", alarmName:"Chime6"},
    sq7 :{ringAlarm:"NO", alarmName:"Chime7"},
    sq8 :{ringAlarm:"NO", alarmName:"Chime8"},
    sq9 :{ringAlarm:"NO", alarmName:"Chime9"},
    sq10:{ringAlarm:"NO", alarmName:"Chime10"},
    sq11:{ringAlarm:"NO", alarmName:"Chime11"},
    sq12:{ringAlarm:"NO", alarmName:"Chime11"}
};


for(key in strRingAlarm){
  console.log(key + "..." +strRingAlarm[key]['ringAlarm'])
}

Upvotes: 0

djaszczurowski
djaszczurowski

Reputation: 4515

var strRingAlarm = {
    sq1: {ringAlarm:"OFF", alarmName:"Chime1"},
    sq2: {ringAlarm:"NO", alarmName:"Chime2"},
    sq3: {ringAlarm:"NO", alarmName:"Chime3"},
    sq4: {ringAlarm:"NO", alarmName:"Chime4"},
    sq5: {ringAlarm:"NO", alarmName:"Chime5"},
    sq6: {ringAlarm:"NO", alarmName:"Chime6"},
    sq7: {ringAlarm:"NO", alarmName:"Chime7"},
    sq8: {ringAlarm:"NO", alarmName:"Chime8"},
    sq9: {ringAlarm:"NO", alarmName:"Chime9"},
    sq10: {ringAlarm:"NO", alarmName:"Chime10"},
    sq11: {ringAlarm:"NO", alarmName:"Chime11"},
    sq12: {ringAlarm:"NO", alarmName:"Chime11"}
};


Object.getOwnPropertyNames(strRingAlarm).forEach(function(val, idx, array) {
    console.log(val + ' -> ' + strRingAlarm[val].ringAlarm) 
})

Upvotes: 1

Enjayy
Enjayy

Reputation: 1074

You can get the ringAlarmProperty like this

 for(var prop in strRingAlarm){
   console.log(strRingAlarm[prop].ringAlarm)
 }

Upvotes: 0

Related Questions