由于我对javascript还是很陌生,所以无法以我想要的方式创建和填充数组“数据”:

var data = new Array();
var i = 0;

results.forEach(function(lake) {
    var data[i] = [{
        name: lake.name,
        fishs: lake.fisheryType,
        dist: lake.distance,
        lat: lake.latitude,
        long: lake.longitude
    }, ];
    i++;
});


这是结果的console.log:

[Object, Object] 0: Object 1: Object length: 2
__proto__: Array[0]


执行此代码时,我得到

unexpected ] at line var data [i] = ...


谢谢你的帮助。

最佳答案

使用map方法以这种方式创建数组。回调返回的每个值都将插入到数组中。

var data = results.map(function (lake) {
    return {
        name: lake.name,
        fishs: lake.fisheryType,
        dist: lake.distance,
        lat: lake.latitude,
        long: lake.longitude
    }
});

09-11 18:00