我试图在一行中声明多个数组。但我接受了这个错误。 (无法设置未定义的属性“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/