将对象加载到二维数组的问题

时间:2016-12-08 21:23:10

标签: javascript

您能告诉我为什么我无法将对象Points加载到二维数组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);

我需要的是

  

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

1 个答案:

答案 0 :(得分: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);