gpt4 book ai didi

javascript 数组长度给出了错误的值

转载 作者:行者123 更新时间:2023-12-02 18:00:46 25 4
gpt4 key购买 nike

我正在尝试使用数据库中的邮政编码在谷歌地图中放置标记。我将 php arry 提取到 JavaScript 数组中,如下所示:

 var js_array = [<?php echo '"'.implode('","', $postal).'"' ?>];
var postal = new Array();
var postcodes = new Array();
for (var i=0;i<js_array.length;i++){
postal[i] = "\"" + js_array[i] + "\"";
}
var postcodes = "[" + postal + "]";
alert(postcodes.length);

数据库中只有 2 个邮政编码。但它向我展示了 19. 构造 javascript 数组有什么问题吗?

我用它在谷歌地图上放置标记:

map.setCenter(new GLatLng(43.65, -79.38),5);

for (i = 0; i < postcodes.length; i++) {
geocoder.getLatLng(postcodes[i] + ', CANADA', function (point) {
if (point) {
map.addOverlay(new GMarker(point));
}
});
}

这样可以在 map 上获得适当的标记吗?

谢谢。

最佳答案

使用json_encode()构建你的数组:

var js_array = <?php echo json_encode($postal) ?>;

我真的不知道你想用这个做什么:

var postcodes = "[" + postal + "]";

您已将 postal 定义为数组。你为什么要在它周围加上方括号?我认为你可以删除该行。

事实上,你的整个循环看起来没有必要。为什么要在值两边加上双引号?杀死所有这些。只要这样做:

var postcodes = <?php echo json_encode($postal) ?>;
alert(postcodes.length);

关于javascript 数组长度给出了错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20551842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com