【发布时间】:2019-05-19 22:05:49
【问题描述】:
以下代码:
let s=[[],[]];
let k=0;
while (k<(JSON.parse(req.responseText).length)){
s[k][0] =dataBack[k].ModuleCode;
s[k][1] =dataBack[k].ModuleDescription;
k=k+1;
}
应该使用来自 Ajax 响应的数据填充一个数组。 但事实并非如此,因为当 k=2 (3d item) 我得到一个错误:
code.js:288 Uncaught TypeError: Cannot set property '0' of undefined
在 StackOverflow 上搜索,我找到了这个链接: How to create empty 2d array in javascript? 描述我为声明我的数组所做的工作。
我期望上面的代码将返回的值存储到 (s) 数组中。 但我得到了上述错误。
【问题讨论】:
-
s[2]将是undefined,因为s仅包含两个列表。你想在那里做什么? -
顺便说一句-您在每次迭代时都在解析响应文本。这有点浪费,我想。最好在开始时解析一次并设置为变量。
标签: javascript arrays