简体   繁体   中英

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);
 }
)
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) 
})

You can get the ringAlarmProperty like this

 for(var prop in strRingAlarm){
   console.log(strRingAlarm[prop].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"} }; for(key in strRingAlarm){ console.log(key + "..." +strRingAlarm[key]['ringAlarm']) } 

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);
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM