2016-12-08 58 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

我建议使用约定来命名变量,并仅使用名称以大写字母开头的类名。 –