首页 > 解决方案 > 使用 for 循环创建 JavaScript JSON 对象

问题描述

我需要创建一个这样的对象

var flightPlanCoordinates = [
   {lat: 37.772, lng: -122.214},
   {lat: 21.291, lng: -157.821},
   {lat: -18.142, lng: 178.431},
   {lat: -27.467, lng: 153.027}
];

我的尝试是

    for (i = 0; i < sales_person_route.length; i++) {
        var flightPlanCoordinates = [
        {lat: sales_person_route[i].latitude, lng: sales_person_route[i].longitude},
];

}

但这是错误的语法。但我需要 Object like flightPlanCoordinates。我的 lat、lng 值在sales_person_route. 如何做到这一点?

标签: javascriptjson

解决方案


您应该在 for 语句之前定义一个数组:

var flightPlanCoordinates = [];

然后为循环中的每个项目推送相应的对象。

 for (i = 0; i < sales_person_route.length; i++) { 
    var salesPersonRoute = sales_person_route[i];
    flightPlanCoordinates.push({ lat: salesPersonRoute.latitude
                               , lng: salesPersonRoute.longitude
    });
}

或者你可以试试这个:

var flightPlanCoordinates = sales_person_route.map(item => {
    return {
        lat: item.latitude, 
        lng: item.longitude
    }
});

推荐阅读