【发布时间】:2012-09-12 00:38:59
【问题描述】:
我有一个 phonegap 应用程序,我想在下载之前修剪图片。 我将一个 JSON 对象传递给我的函数,它是
[{"name":"aaa.jpg","link":"https:\/\/www.abc.com\/aaa.jpg"},"name":"bbb.jpg","link":"https:\/\/www.abc.com\/\/bbb.jpg"}]
并使用下面的函数来解析和删除
function prunePictures(pictures) {
for ( var i = 0; i < entries.length; ++i) {
var name = entries[i].name;
$.each(pictures, function(i, obj) {
if (obj.name == name) {
delete pictures[i];
}
});
}
}
但它没有通过循环,我收到错误“无法读取未定义的属性'名称'”
【问题讨论】:
-
然后
entries[i]或obj的计算结果为未定义。哪一个,为什么? -
在您的调试环境中,在 for 循环的开头添加一个 console.log(entries[i])。在每个函数的开头添加一个 console.log(obj) 或 console.log(i)。这应该告诉你你需要知道什么。
-
是的,JSON 缺少
{。
标签: java javascript jquery json cordova