【问题标题】:Js for each key return bugjs为每个键返回bug
【发布时间】:2019-05-20 06:25:17
【问题描述】:

我正在尝试在 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 是数组键

谢谢。

【问题讨论】:

  • 能把City的内容贴一下吗?
  • @TGrif 是的,我粘贴
  • 代替用于生成City 的PHP,您能否向我们展示一个 任何服务器端处理(例如,从Chrome 的查看源代码)?
  • 不要创建自己的 json,而是在 PHP 中创建一个数组,并使用json_encode 来制作格式正确的 json。

标签: javascript arrays foreach return


【解决方案1】:

尝试转成整数

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 2011-03-06
    • 2015-06-14
    • 2017-10-08
    • 1970-01-01
    相关资源
    最近更新 更多