我正在尝试访问数组中对象的属性之一。这是我的设置方法。
var 2002 = [{"st_as_str":"01006000102","parm_desc":"ALKALINITY, TOTAL","sub":"ALKALINITY","is_fil":false,"is_reac":false,"date":"2002-09-02","time":"16:45","field_num":70237,"lims_r":"","result":137.0,"val_qual":"","ana_meth":"E3218A","unit":"MILLIGRAM PER LITER"},
{"st_as_str":"01006000102","parm_desc":"ALKALINITY, TOTAL","sub":"ALKALINITY","is_fil":false,"is_reac":false,"date":"2002-09-08","time":"14:30","field_num":70240,"lims_r":"","result":142.0,"val_qual":"","ana_meth":"E3218A","unit":"MILLIGRAM PER LITER"}]
//These two lines are actually one. I broke them up to make this somewhat readable. Also, this is a portion of the file.
我一直在尝试访问这样的属性:
警报(2002[0].parm_desc);
如:alert(array[此索引处的对象].thisproperty)
,尽管它似乎不起作用。这是我的更多代码。
<script>
function getScript(url, callback) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
script.onreadystatechange = callback;
script.onload = callback;
document.getElementsByTagName('head')[0].appendChild(script);
}
//this works and I am getting the alerts
getScript('./analysis_valqualifi.js', function(){
alert("Analysis Method: " + analysis_method[0][1]);
alert("Lims_ValQualifi: " + lims_valqualifi[0][1]);
});
//this isn't working
getScript('./2002_results.js', function(){
alert(2002[0].parm_desc);
});
</script>
在前 2 个警报之后,我的其他脚本运行之前有 15-20 秒的延迟,因此我非常确定 JavaScript
正在读取该文件,并且我的语法不正确。
最佳答案
您的变量2002
是非法的。如果您直接在 Chrome 开发者工具控制台中尝试执行第一行,它会立即报告以下内容:
var 2002 = [{"st_as_str":"01006000102","parm_desc":"ALKALINITY, TOTAL","sub":"ALKALINITY","is_fil":false,"is_reac":false,"date":"2002-09-02","time":"16:45","field_num":70237,"lims_r":"","result":137.0,"val_qual":"","ana_meth":"E3218A","unit":"MILLIGRAM PER LITER"}, ...
SyntaxError: Unexpected number
如果您只是简单地使用一个字符作为前缀,例如:
var s2002 = [{"st_as_str":"01006000102","parm_desc":"ALKALINITY, TOTAL","sub":"ALKALINITY","is_fil":false,"is_reac":false,"date":"2002-09-02","time":"16:45","field_num":70237,"lims_r":"","result":137.0,"val_qual":"","ana_meth":"E3218A","unit":"MILLIGRAM PER LITER"}, {"st_as_str":"01006000102","parm_desc":"ALKALINITY, TOTAL","sub":"ALKALINITY","is_fil":false,"is_reac":false,"date":"2002-09-08","time":"14:30","field_num":70240,"lims_r":"","result":142.0,"val_qual":"","ana_meth":"E3218A","unit":"MILLIGRAM PER LITER"}]
这工作得很好。引用this post变量名称规则的一个很好的总结。
关于javascript - 如何从数组中的对象访问属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21222364/