javascript - 在 Javascript 中单行定义数组

标签 javascript arrays declaration

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

var photos,tags = new Array();

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

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

最佳答案

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

var photos = [], tags = [];

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

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

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

关于javascript - 在 Javascript 中单行定义数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53318455/

相关文章:

jquery - 使用 jQuery grep() 过滤 JSON 数组

c - 尝试将整个结构从最高等级排序到最低等级

c - 为什么 C 中需要 volatile?

Javascript映射到数组

javascript - 如何在拖动时调整 div 的大小? [轮换问题]

php - 加载使用 jQuery 滚动动态创建的内容

javascript - 网址 API : Handling of white spaces in URLs

javascript - 两个对象和数组 foreach 将旧对象的值放入 typescript 中的新对象

c++ - 为什么这个片段可以用 C 语言编译?

objective-c - Objective-C 中的私有(private)方法,在 Xcode 4.3 中我不再需要在我的实现文件中声明它们?