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

标签 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] = ...

感谢您的帮助。

最佳答案

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

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

关于javascript - 有没有更好的方法在 javascript 的 forEach 循环中填充数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15448989/

相关文章:

php - Clojure 在 PHP 中的分区方式?

javascript - 如何在javascript中初始化4d数组?

c# - 如何从多维数组创建字符串向量?

javascript - 错误: No provider for TemplateRef! Angular4

c++ - 一些比普通循环和设置更快地分配和初始化数组的方法

c - 2D字符串数组遇到具有多个空格或数字的单词时存储 '\0'

javascript - 我如何为单独的对象数组对每个对象的属性求和?

javascript - WEBVTT 字幕多次显示

javascript - signalR 未定义

javascript - .Net 无法加载 JavaScript