javascript - 如何从数组中的对象访问属性?

标签 javascript arrays object file-io

我正在尝试访问数组中对象的属性之一。这是我的设置方法。

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/

相关文章:

javascript - Grunt 添加多个输入/输出目录

javascript - AWS AutoScaling Down 策略在扩展成功后失败 : Failed to execute autoscaling action: No step adjustment found for metric value

javascript - 如何连接两个 HTML 元素以避免其他元素

python - 如何将我的迭代存储到Python中的数组中?

arrays - perl6 在循环遍历数组时修改数组的一般方法

arrays - 有时将子数组列表中的项目分发到其他子数组/作品然后随机出错

java引用不在范围内的对象

c++ - 在 C++ 中将对象创建为私有(private)类变量

javascript - 为什么 Chrome V8 JavaScript 引擎将 "TG-1"到 "TG-12"识别为有效日期/时间?

javascript - 在 JavaScript 中访问对象成员的有效方法