Reputation: 83
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
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
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
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
Reputation: 1074
You can get the ringAlarmProperty like this
for(var prop in strRingAlarm){
console.log(strRingAlarm[prop].ringAlarm)
}
Upvotes: 0