[英]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
,无论逗号后面是什么。
如果您想一次创建很多数组,并且不想每次都重复= []
,则可以使用Array.from
进行解构以使代码保持DRY:
const [arr1, arr2, arr3, arr4, arr5] = Array.from({ length: 5 }, () => []);
使用ES6,您可以:
let [photos, tags] = [[], []];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.