Javascript 如何从for循环中的对象中将var定义为对象
我有一个情况,我想迭代多边形和它的名字,像这样的东西Javascript 如何从for循环中的对象中将var定义为对象,javascript,Javascript,我有一个情况,我想迭代多边形和它的名字,像这样的东西 for key in result: my_poly.push ( map.drawPolygon({ paths: key.poly_points, title: key.name, draggable: true, editable: true, stro
for key in result:
my_poly.push ( map.drawPolygon({
paths: key.poly_points,
title: key.name,
draggable: true,
editable: true,
strokeColor: 'black',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
click: function(e) {
alert('You clicked ' + my_poly.title);
}
});
)
key.name=a1,
key.poly_points= [[47.5318968167,7.70495563751],
[47.5320376772,7.70489126449],
[47.5317713226,7.70478934055],
[47.5318968167,7.70495563751]]
从这样的结果来看
{"poly1":{"name":"a1","poly_points":[[47.5318968167,7.70495563751],
[47.5320376772,7.70489126449],
[47.5317713226,7.70478934055],
[47.5318968167,7.70495563751]]}}
如果我迭代结果,键值是poly1及其字符串,但我希望它是一个obj,以便像这样从poly1的内部数组中获取值
for key in result:
my_poly.push ( map.drawPolygon({
paths: key.poly_points,
title: key.name,
draggable: true,
editable: true,
strokeColor: 'black',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
click: function(e) {
alert('You clicked ' + my_poly.title);
}
});
)
key.name=a1,
key.poly_points= [[47.5318968167,7.70495563751],
[47.5320376772,7.70489126449],
[47.5317713226,7.70478934055],
[47.5318968167,7.70495563751]]
有人能帮忙吗?要访问循环中的当前项,请使用结果[键]
因为它可能是一个json字符串,所以您需要对其进行json解码。@@Rahil Wazir:我该怎么做。?你能从我的脚本中粘贴示例吗?试试JSON.parsekey.poly_points@@Rahil Wazir:JSON.parsekey.poly_points不起作用。我在JSON数据的第1行第1列得到了一个SyntaxError:JSON.parse:unexpected字符@@Dr.Molle:我像你说的那样尝试过,但问题是我无法得到正确的标题/多边形名称。我有一堆多边形及其名称@@Dr.Molle:我在google Map上单击多边形时得到了标题然后你在drawPolygon中实现的单击处理程序是错误的@@Dr.Molle:单击多边形时得到的是多边形名称列表中的姓氏。我不认识你。“我很困惑@@Molle博士:谢谢,它起作用了