向JS中的新数组推送AJAX响应

问题描述 投票:-1回答:1

我的回复看起来像这样:

var flippedCoor = [[x,y],[x,y]],  [[x,y],[x,y]],  [[x,y],[x,y]],  [[x,y],[x,y]]...

并且我需要将其推入单个数组以获取一个MultiPolyline对象。因此,它必须看起来像这样:

var myCoords = [[[x,y],[x,y]],  [[x,y],[x,y]],  [[x,y],[x,y]],  [[x,y],[x,y]]...]

我试图创建一个空数组并将响应推送到那里,但仅推送最后一个响应数组。可能是Iam误认为引用传递,值传递。.

响应码:

success: function(response){
                var routeArr = response.features;
                routeArr.forEach(linePart => { 
                    var coords = linePart.geometry.coordinates;
                    coords.forEach(function(coord){
                        var newArray = coord;
                        var finalArr = newArray.map(function(obj){
                            return Object.values(obj).sort().map((value)=>{
                                return value

                            })
                        })
                        var flipCoor = L.GeoJSON.coordsToLatLngs(finalArr, 0);
                        var flippedCoor = flipCoor.map(function(obj){
                            return Object.keys(obj).sort().map(function(key){
                                return obj[key];
                                })
                        })
                         var empty_arr = new Array();
                         empty_arr.push(flippedCoor); ....
javascript arrays multidimensional-array leaflet geoserver
1个回答
0
投票

您可以创建empty_arr全局对象,一切都会好起来,我认为看起来像那样。

          var empty_arr = new Array();
          success: function(response){
            var routeArr = response.features;
            routeArr.forEach(linePart => { 
                var coords = linePart.geometry.coordinates;
                coords.forEach(function(coord){
                    var newArray = coord;
                    var finalArr = newArray.map(function(obj){
                        return Object.values(obj).sort().map((value)=>{
                            return value

                        })
                    })
                    var flipCoor = L.GeoJSON.coordsToLatLngs(finalArr, 0);
                    var flippedCoor = flipCoor.map(function(obj){
                        return Object.keys(obj).sort().map(function(key){
                            return obj[key];
                            })
                    })

                     empty_arr.push(flippedCoor);...
© www.soinside.com 2019 - 2024. All rights reserved.