我得到了一个非常简单的问题:
看看这个JSON字符串:
this.objects = [{"pid":"2","x":"10","y":"10"}]; // only one i know
现在我想像这样解决一个对象:
this.objects.pid[2]
我知道在这种情况下这是毫无意义的,因为你可以像访问它一样:
this.objects[0]
问题是我需要通过对象id而不是数组索引来对JSON中的对象数组进行处理。对此有一个很好的方法吗?
谢谢!
答案 0 :(得分:4)
function getObject(id, array) {
for (var i = 0; i < array.length; i++) {
if (array[i].pid == id) {
return array[i]
}
}
}
一个获取id和数组并返回对象的函数。基本上遍历数组并找到带有id的元素。这可以选择缓存以提高速度。
答案 1 :(得分:2)
它不需要是单个元素数组,所以试试这个......
this.objects = {"pid":"2", "x":"10", "y":"10"};
您可以通过以下方式阅读:
this.objects.pid;
this.objects['pid'];
如果你想要多个x,y等列表。然后尝试这样的事情:
this.objects = { "2": {"x": "10", "y": "10"} };
this.objects["2"].x;
this.objects["2"]["x"];
基本上,在这种情况下,只需使用“pid”作为每个包含每个项目所需属性的对象的键。