无法设置多维javascript数组的属性
我的JavaScript代码如下:无法设置多维javascript数组的属性,javascript,arrays,multidimensional-array,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; 这些都是字符串,都有值。 我得到了一个错误: 未捕获的TypeError:无法在上设置未定义的属性“0” 第一次赋值:ret[i][0]=newID jsfiddle上也有错误 我做错了什么?在尝试添加元素之前,必须先创建re
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;
这些都是字符串,都有值。
我得到了一个错误:
未捕获的TypeError:无法在上设置未定义的属性“0”
第一次赋值:ret[i][0]=newID
jsfiddle上也有错误
我做错了什么?在尝试添加元素之前,必须先创建
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;
除非有理由硬编码数组索引,否则您可能更喜欢创建数组文字(如@Rocket在注释中所示)或使用:
另一个问题是:
var jobTitle="j title";
var jobText = "j desc";
var jobEmail="jemail";
var jobOrder="j order";
var newID="3";
var i=0;
var ret = new Array();
var matrix = new Array()
ret[0]=newID;
ret[1]=jobTitle;
ret[2]=jobText;
ret[3]=jobEmail;
ret[4]=jobOrder;
matrix[i] = ret;
console.log(matrix[0][0]);
Fiddle:甚至更好:
ret[i]=[newID、jobTitle、jobText、jobEmail、jobOrder]代码>;-)<代码>var ret=[[newID,jobTitle,jobText,jobEmail,jobOrder]]代码>;)
var jobTitle="j title";
var jobText = "j desc";
var jobEmail="jemail";
var jobOrder="j order";
var newID="3";
var i=0;
var ret = new Array();
var matrix = new Array()
ret[0]=newID;
ret[1]=jobTitle;
ret[2]=jobText;
ret[3]=jobEmail;
ret[4]=jobOrder;
matrix[i] = ret;
console.log(matrix[0][0]);