javascript - 在 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
being 。undefined
如果您想一次创建很多数组并且不想= []
每次都重复,您可以使用Array.from
with destructuring 来保持代码 DRY:
const [arr1, arr2, arr3, arr4, arr5] = Array.from({ length: 5 }, () => []);
推荐阅读
- php - PHP/ODBC 连接在没有凭据的情况下无法工作
- neo4j - neo4j:使用后的多个值
- ruby-on-rails - 如何使用 RSpec 控制器规范触发并发请求?
- scala - 如何安全地对 spark 数据框行进行 getAs 操作?
- javascript - 遍历一个 JSON 对象并根据指定的值返回一个键
- c# - C# 播放音乐
- python - Python Pygame赢得对角线移动不起作用
- android - 执行类似于 GestureDescription 的点击、滑动、投掷 24 以下?
- javascript - 如何从字符串日期(“Ymd”)中获取正确的日期?
- html - 如何使用@htmlattributes :用于日期选择器