在javascript中填充多维数组

在javascript中填充多维数组,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我从一个字符串数组开始,其中数组的每个元素由“/”分隔。e、 g.temp[0]={“sky//hi//pi”},temp[1]={“fish//steak//carrot”}。现在,我的代码如下所示: for (var i = 0; i < temp.length ;i++) { window.data_arrays = Array(2); window.data_arrays[i] = temp[i].split("//"); } for(变量i=0;i

我从一个字符串数组开始,其中数组的每个元素由“/”分隔。e、 g.
temp[0]={“sky//hi//pi”}
temp[1]={“fish//steak//carrot”}
。现在,我的代码如下所示:

for (var i = 0; i < temp.length ;i++)
{
window.data_arrays = Array(2);
window.data_arrays[i] = temp[i].split("//");
}
for(变量i=0;i
我想做的是将数据数组变成一个二维数组……因此,对于这个例子,它就像
temp[0][0]=“sky”
temp[0][1]=“hi”
temp[1][0]=“fish”

但是,代码不起作用。有人能帮我吗?
谢谢(我将其分配给window的原因是因为我以后需要在另一个文件中访问此变量)

假设您的
temp
数组是正确的,您必须在循环之前初始化数组

window.data_arrays = [];
for (var i = 0; i < temp.length; i++) {
     window.data_arrays[i] = temp[i].split("//");
}
window.data_数组=[];
对于(变量i=0;i
否则,您将在每次迭代时覆盖它,并且它将只包含上一次迭代的值

window.data_arrays = Array(2);

假设您的
temp
数组是正确的,您必须在循环之前初始化数组

window.data_arrays = [];
for (var i = 0; i < temp.length; i++) {
     window.data_arrays[i] = temp[i].split("//");
}
window.data_数组=[];
对于(变量i=0;i
否则,您将在每次迭代时覆盖它,并且它将只包含上一次迭代的值

window.data_arrays = Array(2);
你很接近

temp = []; 
temp[0] = "sky//hi//pi"; 
temp[1] = "fish//steak//carrot";

window.data_arrays = [];
for (var i = 0; i < temp.length ;i++) {
  window.data_arrays[i] = temp[i].split("//");
}
temp=[];
温度[0]=“天空//高//圆周率”;
临时工[1]=“鱼//牛排//胡萝卜”;
window.data_数组=[];
对于(变量i=0;i
你很接近

temp = []; 
temp[0] = "sky//hi//pi"; 
temp[1] = "fish//steak//carrot";

window.data_arrays = [];
for (var i = 0; i < temp.length ;i++) {
  window.data_arrays[i] = temp[i].split("//");
}
temp=[];
温度[0]=“天空//高//圆周率”;
临时工[1]=“鱼//牛排//胡萝卜”;
window.data_数组=[];
对于(变量i=0;i
在示例代码行3(以下)中,“window.data\u array”在每次迭代中都会被覆盖

window.data_arrays = Array(2);
通过将赋值语句移动到循环外部。 下面的代码适用于我。(我在firefox中使用了FireBug插件)

var-temp=[“天空//hi//pi”,“鱼//牛排//carrot”];
变量数据_数组={};
对于(变量i=0;i
在示例代码行3(以下)中,“window.data\u array”在每次迭代中都会被覆盖

window.data_arrays = Array(2);
通过将赋值语句移动到循环外部。 下面的代码适用于我。(我在firefox中使用了FireBug插件)

var-temp=[“天空//hi//pi”,“鱼//牛排//carrot”];
变量数据_数组={};
对于(变量i=0;i
数组定义格式不正确,其余部分已关闭:

var temp = [];
temp.push("sky//hi//pi");           // temp[0]
temp.push("fish//steak//carrot");   // temp[1]

var final = [];
for( var i=0, tempLen=temp.length; i < tempLen; i++ ){
   final.push( temp[i].split("//"));
}
console.log(final);
var-temp=[];
温度推送(“天空//高//圆周率”);//温度[0]
临时推(鱼/牛排/胡萝卜);//临时工[1]
var final=[];
对于(var i=0,tempLen=temp.length;i
数组定义格式不正确,其余部分已关闭:

var temp = [];
temp.push("sky//hi//pi");           // temp[0]
temp.push("fish//steak//carrot");   // temp[1]

var final = [];
for( var i=0, tempLen=temp.length; i < tempLen; i++ ){
   final.push( temp[i].split("//"));
}
console.log(final);
var-temp=[];
温度推送(“天空//高//圆周率”);//温度[0]
临时推(鱼/牛排/胡萝卜);//临时工[1]
var final=[];
对于(var i=0,tempLen=temp.length;i
temp[0]={“sky//hi//pi”}
是无效的JavaScript。
temp[0]={“sky//hi//pi”}
是无效的JavaScript。啊,非常感谢大家!javascript变量范围把我搞糊涂了--@user839260:在本例中,这与javascript无关。在任何编程语言中都会发现相同的行为。啊,非常感谢大家!javascript变量范围把我搞糊涂了--@user839260:在本例中,这与javascript无关。在任何编程语言中都会发现相同的行为。