我正试图以这种方式制作一个阵列:
var cell = [];
cell[0][0] = "Förnamn:";
cell[0][1] = "Efternamn:";
cell[0][2] = "Telefon:";
cell[1][1] = "Leitet";
cell[1][2] = "7716";
cell[2][0] = "Mats";
cell[2][1] = "Loock";
cell[2][2] = "7714";
但是我收到了这个错误:
无法设置未定义的属性“0”
我也试过这个:
var cell = new array[]
并收到此消息:
意外的令牌]
尝试了这个:
var cell = new array()
但是得到这个错误:
数组未定义
所以我需要帮助来声明我的变量。以下工作非常重要:
cell[0][0] = "Förnamn:";
cell[0][1] = "Efternamn:";
cell[0][2] = "Telefon:";
cell[1][0] = "Johan";
cell[1][1] = "Leitet";
cell[1][2] = "7716";
cell[2][0] = "Mats";
cell[2][1] = "Loock";
cell[2][2] = "7714";
答案 0 :(得分:5)
var a = new Array();
a[0] = new Array();
或
var a = [[]];
适用于您的案件:
// if you want to be explicit
var cell = []
cell[0] = ["Förnamn:", "Efternamn:", "Telefon:"]
cell[1] = ["Johan", "Leitet", "7716" ]
cell[2] = ["Mats", "Loock", "7714" ]
// or
var cell = [
["Förnamn:", "Efternamn:", "Telefon:"],
["Johan", "Leitet", "7716"],
["Mats", "Loock", "7714"]
]
答案 1 :(得分:2)
喜欢这个
var array = [[]];
文字应该用在JS中,而不是构造函数。
答案 2 :(得分:1)
创建文字数组的最简单方法是
var cell=[
[
"Förnamn:",
"Efternamn:",
"Telefon:"
],[
"Johan",
"Leitet",
"7716"
],[
"Mats",
"Loock",
"7714
]
]
然后,当您想要添加另一行时,您可以执行
cell.push(["John", "Dvorak", "3455"])
如果你真的想使用
cell[0][0] = "Förnamn:";
cell[0][1] = "Efternamn:";
cell[0][2] = "Telefon:";
cell[1][1] = "Leitet";
cell[1][2] = "7716";
cell[2][0] = "Mats";
cell[2][1] = "Loock";
cell[2][2] = "7714";
,然后执行此操作:
var cell=[];
cell[0]=[];
cell[1]=[];
cell[2]=[];
cell[0][0] = "Förnamn:";
cell[0][1] = "Efternamn:";
cell[0][2] = "Telefon:";
cell[1][1] = "Leitet";
cell[1][2] = "7716";
cell[2][0] = "Mats";
cell[2][1] = "Loock";
cell[2][2] = "7714";
或
var cell = [];
cell[0] = [];
cell[0][0] = "Förnamn:";
cell[0][1] = "Efternamn:";
cell[0][2] = "Telefon:";
cell[1] = [];
cell[1][1] = "Leitet";
cell[1][2] = "7716";
cell[2] = [];
cell[2][0] = "Mats";
cell[2][1] = "Loock";
cell[2][2] = "7714";
答案 3 :(得分:0)
Javascript没有像C那样的二维数组。您可以使用数组数组来模拟它,如下所示:
var cell = [];
for (var i = 0; i < 3; i++) {
cell[i] = [];
}
cell[0][0] = "Förnamn:";
cell[0][1] = "Efternamn:";
cell[0][2] = "Telefon:";
cell[1][0] = "Johan";
cell[1][1] = "Leitet";
cell[1][2] = "7716";
cell[2][0] = "Mats";
cell[2][1] = "Loock";
cell[2][2] = "7714";
阅读完评论后,我想知道你的导师是否想要这样的话:
var cell = [ // The outside array
[], // this is cell[0]
[], // cell[1]
[] // cell[2]
]; // and closing the outside array
压缩到这样的一行:
var cell = [ [], [], [] ];
// or
var cell = [[],[],[]];
或者,您可以创建我们称之为对象文字的内容,然后只说出您想要的内容......
var cell = [
[
"Förnamn:",
"Efternamn:",
"Telefon:"
],
[
"Leitet",
"7716"
],
[
"Mats",
"Loock",
"7714"
]
];
答案 4 :(得分:0)
var cell = [
[
"Förnamn:",
"Efternamn:",
"Telefon:"
],
[
"Leitet",
"7716"
],
[
"Mats",
"Loock",
"7714"
]
];
答案 5 :(得分:0)
在第一个例子中,你可以使它像这样工作:
var cell = [];
cell[0] = [];
cell[0][0] = "Förnamn:";
cell[0][1] = "Efternamn:";
cell[0][2] = "Telefon:";
cell[1] = [];
cell[1][1] = "Leitet";
cell[1][2] = "7716";
cell[2] = [];
cell[2][0] = "Mats";
cell[2][1] = "Loock";
cell[2][2] = "7714";
在您的代码中抛出异常,因为没有cell[0]
- 它是未定义的,因此您必须首先定义它。
使用数组构造函数后,它应该是这样的:
var cell = new Array();
而不是:
var cell = new array[]
或
var cell = new array();
第一个构造是非法的,第二个构造不起作用,因为JS是区分大小写的语言。但是你在这里遇到第二级问题。无论如何必须定义每个第一级aray,就像在第一个代码块中一样。