我在下面的示例中访问对象'属性时遇到问题。在第三行,我想将数字42替换为变量devNumTemp的值,但到目前为止,我还没有成功。
这样做的正确方法是什么?我已经尝试了几种选择,但从未得到任何进一步的定义。
function getTempDev(devNumTemp, devNumHum, id, description){
$.getJSON("http://someurl.com/DeviceNum=" + devNumTemp,function(result){
var array = result.Device_Num_42.states;
function objectFindByKey(array, key, value) {
for (var i = 0; i < array.length; i++) {
if (array[i][key] === value) {
$("#id").html(description + "<div class='right'>" + array[i].value + "°C" + " (" + someVariable + "%" + ")" + "<br></div>");
}
}
};
objectFindByKey(array, 'service', 'something');
});
};
答案 0 :(得分:1)
您可以访问此对象的属性
var array = result["Device_Num_" + devNumTemp].states;
在尝试访问之前,我们认为这是一个很好的做法,可以测试现场的存在:
var array = [];
if (result && result["Device_Num_" + devNumTemp]){
array = result["Device_Num_" + devNumTemp].states;
}
这样我们就可以防止Null Pointer Exception类型错误。