2016-12-08 59 views
1

能否請你讓我知道爲什麼我不能加載到2維數組MultiPoints有對正在加載的對象問題二維數組

var points = {lat:"48", long:"123"}; 
 
    var MultiPoints = []; 
 
    
 
    for (i = 0; i <3; i++) { 
 
     MultiPoints.push(points[i].lat, points[i].long); 
 
    } 
 
    
 
    console.log(MultiPoints);

我需要以下對象Points要有

var MultiPoints = [ [48,123],[48,123],[48,123]];

+0

JavaScript的閱讀對象達與陣列。不是一回事。 – Timo

+0

大聲笑@Timo這是值得商榷的。 – Derek

回答

1

您沒有要迭代的數組,只需要一個對象,那麼您還需要推送一個數組。

var points = { lat: "48", long: "123" }, 
 
    MultiPoints = [], 
 
    i; 
 
    
 
for (i = 0; i < 3; i++) { 
 
    MultiPoints.push([points.lat, points.long]); 
 
} 
 
    
 
console.log(MultiPoints);

一種用於映射多個點建議用Array#map

map()方法創建調用此陣列中的每個元件上的提供功能的結果的新的數組。

var points = [{ lat: "48", long: "123" }, { lat: "49", long: "124" }, { lat: "50", long: "125" }], 
 
    multiPoints = points.map(function (point) { 
 
     return [point.lat, point.long]; 
 
    }); 
 
    
 
console.log(multiPoints);

+0

特意感謝妮娜的建議部分! – Behseini

+0

我建議使用約定來命名變量,並僅使用名稱以大寫字母開頭的類名。 –