使用jquery创建动态数组

Ozl*_*lem 5 arrays jquery dynamic

我需要一些关于jquery数组的帮助.


var queryArr;

$(markersArray).each(function(index) {

     var _locationId = index;
     var _locName    = markersArray[index].name;
     var _markerLat  = markersArray[index].marker.getLatLng().lat();
     var _markerLng  = markersArray[index].marker.getLatLng().lng();

//I DO NOT KNOW THE SYNTAX BELOW HELP IN HERE PLEASE..

      var locations = {  

        locationId:_locationId;                                
        locationName:_locName,
        lat:_markerLat,
    lng:_markerLng  }
    queryStr = { "locations": locations}    //??????????

      });


queryArr.push(location); //???????
Run Code Online (Sandbox Code Playgroud)

}

我需要使用这样的方式来达到每个元素:

alert(queryArr[0].locations.locationId);
Run Code Online (Sandbox Code Playgroud)

显然,我将使用for循环通过索引来访问每个数据.

任何人都可以给我示例语法..我已经找到了很多固定数组的例子但不是动态内容.

Reb*_*off 13

你很近.带有push的行需要在.each()循环内移动,你需要使用queryStr进行推送.确保您没有任何其他语法错误,例如缺少分号.

queryArr.push(queryStr);

这是你的例子:

var queryArr = [];

$(markersArray).each(function(index) {
     var _locationId = index;
     var _locName    = markersArray[index].name;
     var _markerLat  = markersArray[index].marker.getLatLng().lat();
     var _markerLng  = markersArray[index].marker.getLatLng().lng();

     var locations = {  
        "locationId" :_locationId;                                
        "locationName" :_locName,
        "lat" :_markerLat,
        "lng" :_markerLng  
     };
     queryStr = { "locations" : locations };
     queryArr.push(queryStr);
 });
Run Code Online (Sandbox Code Playgroud)