2017-11-30 4 views
0

Ich habe ein Array von Arrays, die wie folgt aussieht:nicht in der Lage Schleife über Array in Array

var data = [ 
     [ 
     -9814184.757, 
     5130582.574600004 
     ], 
     [ 
     -9814152.5879, 
     5130624.636799999 
     ], 
     [ 
     -9814147.7353, 
     5130632.882600002 
     ] 
    ] 

jetzt, wenn ich es in ein Objekt wie

for (i = 0; i < data.length; ++i) { 
    for (b = 0; b < 1; ++b) { 
     var point = new Point(data[i][b],data[i][b]); 
    } 
} 
console.log(point); 

abzubilden versuchen, ich bin immer undefined für x und y in dem Objekt

{type: "point", x: undefinierte, y: undefined, spatialReference: {...}}

Sie bitte lassen Sie mich wissen, was ich falsch mache?

+3

Sie sich von der inneren Schleife zu befreien. Was willst du mit dem neuen Point machen? – charlietfl

+0

Sind die inneren Arrays Koordinaten (x, y)? Möchten Sie jedes (x, y) an den "neuen Punkt" übergeben? –

+0

Sie ordnen die inneren Arrays den Eigenschaften 'x' und' y' zu. Entfernen Sie die innere for-Schleife und übergeben Sie 'data [i] [0]'/'data [i] [1]' an 'x' /' y'. Auch wäre es hilfreich wenn du uns zeigen würdest wie 'Point()' implementiert wird – Kristianmitk

Antwort

3
for (let i = 0; i < data.length; i++) { 
    let point = new Point(data[i][0], data[i][1]); 
    console.log(point); 
} 

Schleife durch das Array namens Daten in Ihrem Fall. Für jede der inneren Arrays die erste Position und Zuweisen zu x-Wert und dem zweiten Element an y-Wert

+0

habe ich das probiert aber funktioniert nicht! –

+0

Können Sie mehr Code für den Point-Konstruktor bereitstellen? –

+0

Dies ist eigentlich ArcGIS API https://developers.arcgis.com/javascript/3/jsapi/point-amd.html –

2

Schnell und einfach zu lesen:

points = data.map(([x, y]) => new Point(x, y)); 
Verwandte Themen