无法设置多维javascript数组的属性

Sha*_*awn 2 javascript arrays multidimensional-array

我的JavaScript代码是这样的:

var i=0;
var ret=[];
ret[i][0]=newID;
ret[i][1]=jobTitle;
ret[i][2]=jobText;
ret[i][3]=jobEmail;
ret[i][4]=jobOrder;
Run Code Online (Sandbox Code Playgroud)

这些都是字符串,都有价值.我收到错误:

"未捕获的TypeError:无法在第一次赋值时设置未定义的属性'0':ret [i] [0] = newID;

jsfiddle http://jsfiddle.net/Zf9rE/2/也有错误

我究竟做错了什么?

MrC*_*ode 6

您必须ret[i]在尝试向其添加元素之前创建:

var i=0;
var ret=[];

ret[i] = []; // define ret[i]

ret[i][0]=newID;
ret[i][1]=jobTitle;
ret[i][2]=jobText;
ret[i][3]=jobEmail;
ret[i][4]=jobOrder;
Run Code Online (Sandbox Code Playgroud)

更新了小提琴

除非有理由对数组索引进行硬编码,否则您可能更喜欢创建数组文字(如注释中的@Rocket所示)或使用Array.prototype.push():

ret[i].push(newID);
ret[i].push(jobTitle);
Run Code Online (Sandbox Code Playgroud)

  • `var ret = [[newID,jobTitle,jobText,jobEmail,jobOrder]];`;) (2认同)