我的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也出错 http://jsfiddle.net/Zf9rE/2/
我做错了什么?
答案 0 :(得分: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;
除非有理由对数组索引进行硬编码,否则您可能更喜欢创建数组文字(如注释中的@Rocket所示)或使用Array.prototype.push()
:
ret[i].push(newID);
ret[i].push(jobTitle);
答案 1 :(得分:0)
另一种方法:
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]);