[英]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.