【问题标题】:Is there a better way to fill an array within a forEach loop in javascript?有没有更好的方法在 javascript 的 forEach 循环中填充数组?
【发布时间】:2013-03-05 03:30:52
【问题描述】:

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

感谢您的帮助。

【问题讨论】:

  • 您想用相同对象的 results.length 克隆填充数组吗?
  • 我认为您收到错误是因为,} 之后。

标签: javascript arrays multidimensional-array foreach


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-02-06
    • 2017-03-30
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2010-10-03
    • 2020-06-21
    相关资源
    最近更新 更多