我有一个问题,这不是我以前使用过的东西。

这是代码段。

//Defined at top of file
var ships_array = [];

//Function later on

    function refreshJSON(){
    $.getJSON("scripts/getJSON.php", function(json){

      if(json){
        $.each(shiplist,function(i,item){
            $.each(item,function(j,subitem){
                var mmsi = subitem['mmsi'];
                ships_array[mmsi].lat = subitem['lat'];
                ships_array[mmsi].lon = subitem['lon'];

            });
        });
     }

    });

    }


我得到的错误是


  Ships_array [mmsi]未定义[中断
  发生此错误] Ships_array [mmsi] .lat =
  subitem ['lat'];


这是使用关联数组的正确方法吗?我已经看到了与此类似的示例,但是我在某处出错了!最后,我想要一个Google Maps标记数组!

最佳答案

您只需要首先在哈希键上初始化值

var mmsi = subitem['mmsi'];
ships_array[mmsi] = ships_array[mmsi] || {};
ships_array[mmsi].lat = subitem['lat'];
ships_array[mmsi].lon = subitem['lon'];

关于javascript - 关联Javascript数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5295915/

10-09 13:25