首页 > 解决方案 > js为每个键返回bug

问题描述

我正在尝试在 JS 中执行地图脚本,但是当我尝试返回数组键值时出现错误。这是从 0 到 9 工作的,当键是 > 10 时,返回值将是 '1' 和 '0' 而不是 '10'。

Object.keys(City).forEach(function(key) {
   var idcity = City[key];
   alert(idcity);
});

我的数组值来自 php 函数,我回显了数组,显示的键是“10”而不是“1”“0”。问题可能来自这个小的 JS 脚本。

城市 :

    var City= {
  <?php
  $mycity->CreateMarker($_SESSION['visitorID']);
  ?>
};
// CreateMarker inside
       if($dateformater >= date("Y-m-d")){ 
         echo "{$id}: { 'lat': {$Lat}, 'lon': {$Lon} },";

$id 是数组键

谢谢。

标签: javascriptarraysforeachreturn

解决方案


尝试转换为整数

Object.keys(City).forEach(function(key) {
var idcity = City[key];
 alert(parseInt(idcity, 10)); });

推荐阅读