use*_*894 0 javascript arrays json
这是我从firebug得到的一些输出
<div id='div_undefined'>[{"Region":"AD","Date":"","ArticleID":"abc-345"}, {"Region":"CD","Date":"","ArticleID":"abc-345"}]</div>
Run Code Online (Sandbox Code Playgroud)
你可以在那里看到JS Object数组并注意div_undefined.如果你看下面的功能,我知道我的对象是定义的,因为它正在打印出来.当我尝试访问ArticleID时,为什么Items [0]返回undefined
这是我的函数的代码
function myFunc(Items){
var item = Items[0];
Write("<div id='div_" + item.ArticleID + "'>" + Items + "</div>");
}
Run Code Online (Sandbox Code Playgroud)
如果连接Items产生这个输出,那么它是一个字符串(包含JSON),你必须首先将它解析为JS数据结构(在这种情况下是一个数组):
function myFunc(Items){
Items = JSON.parse(Items);
var item = Items[0];
Write("<div id='div_" + item.ArticleID + "'>" + Items + "</div>");
// Will output
// <div id='div_abc-345'>[object Object], [object Object]</div>
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,在将值传递给函数之前,您将执行此操作.我不知道你追求的输出是什么,所以我可以建议.
否则,Items[0]引用字符串的第一个字母(也是一个字符串),字符串没有ArticleID属性,因此你得到undefined.
您可能会发现此问题也很有用:访问/处理(嵌套)对象,数组或JSON如Matt所提到的(在另一个问题中),如果要调试代码,请使用console.log.
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |