有没有更好的方法来填充javascript中的forEach循环中的数组?

时间:2013-03-16 11:58:45

标签: javascript arrays multidimensional-array foreach

由于我对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] = ...

感谢您的帮助。

1 个答案:

答案 0 :(得分:6)

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

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