簡體   English   中英

用JavaScript在單行中定義數組

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM