在 Javascript 中单行定义数组

Defining arrays in single line in Javascript

我试图在一行中声明多个数组。但我正在接受这个错误。 (无法设置未定义的 属性 "0")

var photos,tags = new Array();

flickrJSON.items.forEach(function(item, index) {
    photos[index] = item.media.m;
    tags[index] = item.tags;
});

为什么我会出现这个错误?有人可以解释吗?以及如何修复它

您正在尝试使用 两个 数组 - 一个名为 photos 的数组和一个名为 tags 的数组,因此您需要使用 new Array(或者,最好是[]两次

var photos = [], tags = [];

在您的原始代码中,var photos, 将导致 photos 成为 undefined,无论逗号后面是什么。

如果您想一次创建一个 lot 数组并且不想每次都重复 = [],您可以使用 Array.from解构以保持代码干燥:

const [arr1, arr2, arr3, arr4, arr5] = Array.from({ length: 5 }, () => []);

使用 ES6 你可以:

let [photos, tags] = [[], []];