Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组读取,然后停止-错误:无法设置属性';0';未定义的_Javascript_Arrays - Fatal编程技术网

Javascript 数组读取,然后停止-错误:无法设置属性';0';未定义的

Javascript 数组读取,然后停止-错误:无法设置属性';0';未定义的,javascript,arrays,Javascript,Arrays,我试图将csv字符串读入2D数组,由于某种原因,当它到达第一个循环的第二次迭代时,它会停止 以下是密码和代码: $(document).ready(function(){ var lay = [[]]; document.getElementById("result").innerHTML = value; bits = value.split(','); console.log(bits.length); elm = bits.length/4; coun

我试图将csv字符串读入2D数组,由于某种原因,当它到达第一个循环的第二次迭代时,它会停止

以下是密码和代码:

$(document).ready(function(){
var lay = [[]];

    document.getElementById("result").innerHTML = value;
 bits = value.split(',');
 console.log(bits.length);
 elm = bits.length/4;
 count=0;
 console.log(bits[6]); //here it reads but won't assign to the array 

 for (i=0; i<=elm; i++)
 {lay[i]=[];
  console.log('i:'+i);
 for (j=0; j<=4; j++)
 {   console.log('j:' + j);
     console.log('count:' + count);;
     lay[i][j] == bits[count];
     count = count + 1;
     console.log('bit value:' + bits[count]);
 }   
 }  
console.log(lay[0][0]);
});
$(文档).ready(函数(){
var-lay=[[]];
document.getElementById(“结果”).innerHTML=value;
位=值。拆分(',');
console.log(位长度);
elm=位。长度/4;
计数=0;
console.log(位[6]);//这里它读取但不会分配给数组

对于(i=0;i我认为u'r lay数组有问题。 这个元素成立了吗?lay[i][j]

我想我解决了它

我做了两个改变:

在循环外部声明了“lay”值

var lay = Array();
并在第一个循环开始时进行了更新

lay[i] = Array();

现在它运行时没有错误。

你怎么知道
lay
lay[i]
没有定义?实际上我很确定
lay[1]
没有定义,使得
lay[1][0]
失败。数组中没有数据,所以我猜它是未定义的。如果我告诉它应该是什么值,那又有什么关系呢?这样看吧。你不会认为这会起作用吧?
var x;x[0]=5;
我声明了lay=[[]];对于2D数组来说,这还不够吗?我更新了小提琴:它显示数组中的前几个值。如果你说的是真的,那么为什么它会显示lay[0][0]…lay[0][3]?不。这只声明了lay[0],而不是lay[1]。我在查看代码时发现你已经解决了它。哦。。。