用JavaScript在一行中定义数组

时间:2018-11-15 11:28:03

标签: javascript arrays declaration

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

var photos,tags = new Array();

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

为什么我会出现此错误?有人可以解释吗?以及我该如何解决

2 个答案:

答案 0 :(得分:3)

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

[]

在您的原始代码中,无论逗号后面是什么,var photos = [], tags = []; 都会导致var photos,photos

如果您想一次创建一个数组的 lot ,并且不想每次都重复undefined,则可以使用= []进行解构以使代码保持DRY :

Array.from

答案 1 :(得分:2)

使用ES6,您可以:

do_once('foobar', print, "first try")
do_once('foo', print, "first try")
do_once('bar', print, "second try")
# first try 
# second try