2016-01-21 142 views
0

我一直在试图从下面的对象获得值没有任何运气。我知道那里有很多答案,但我是一个视觉人员,他们不适合我的布局。如何获取此对象中的值?

另外,如何处理对象以更改“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); 
} 
) 

回答

0

你可以得到ringAlarmProperty这样

for(var prop in strRingAlarm){ 
    console.log(strRingAlarm[prop].ringAlarm) 
} 
1
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) 
}) 
0

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']) 
 
}

+0

为什么'ringAlarm'在'['ringAlarm']'而不是'.ringAlarm'中有什么特别的理由? –

+0

谢谢大家,非常感谢,这是踢我的azz! – Dewinky

+0

我们可以使用它们中的任何一个,我只是早点输入......就是这样 – saikumar

0

如果你有一个对象obj,以最好的方式的属性name得到该财产的价值是obj[name]。通过这种方式,试试这个代码块:

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