javascript 怎么把for循环输出的内容存成数组? 100
js调用天地图api的逆地理编码,得到城市名代码如下:<script>varzb=[119,36,118,35,120,40,117,34];varcs=[];windo...
js 调用天地图api的逆地理编码,得到城市名
代码如下:
<script>
var zb=[119,36,118,35,120,40,117,34];
var cs=[];
window.onload=f;
function f()
{
//初始化地图对象
map=new TMap("mapDiv");
//设置显示地图的中心点和级别
map.centerAndZoom(new TLngLat(118.061598,36.819907),12);
//允许鼠标滚轮缩放地图
map.enableHandleMouseScroll();
//允许双击地图放大
map.enableDoubleClickZoom();
//创建一个地址解析器的实例
var geocode= new TGeocoder();
for(var i=0;i<zb.length;i+=2) {
var lnglat = new TLngLat(zb[i],zb[i+1]);
//对指定的坐标点进行反地址解析
geocode.getLocation(lnglat,searchResult);
}
}
function searchResult(result) {
var addressComponent = result.getAddressComponent();
city=addressComponent.city;
alert(city);
}
</script>
现在能成功alert4个城市名,但怎么把这四个城市名保存到一个全局数组中去,比如cs=["北京","上海","广州","深圳"];
求大神帮帮忙!! 展开
代码如下:
<script>
var zb=[119,36,118,35,120,40,117,34];
var cs=[];
window.onload=f;
function f()
{
//初始化地图对象
map=new TMap("mapDiv");
//设置显示地图的中心点和级别
map.centerAndZoom(new TLngLat(118.061598,36.819907),12);
//允许鼠标滚轮缩放地图
map.enableHandleMouseScroll();
//允许双击地图放大
map.enableDoubleClickZoom();
//创建一个地址解析器的实例
var geocode= new TGeocoder();
for(var i=0;i<zb.length;i+=2) {
var lnglat = new TLngLat(zb[i],zb[i+1]);
//对指定的坐标点进行反地址解析
geocode.getLocation(lnglat,searchResult);
}
}
function searchResult(result) {
var addressComponent = result.getAddressComponent();
city=addressComponent.city;
alert(city);
}
</script>
现在能成功alert4个城市名,但怎么把这四个城市名保存到一个全局数组中去,比如cs=["北京","上海","广州","深圳"];
求大神帮帮忙!! 展开
1个回答
展开全部
下面输出结果是"jim",而不是"tom",
是因为数组中保存的都是指向json对象a的地址,
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
1234567891011var dd = []; var a = { "cname": "tom" }; for (var i = 0; i <4; i++) { dd[i] =a; }dd[0].cname = "jim";alert(dd[2].cname);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询