Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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/4/postgresql/9.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
2D数组错误-Javascript字符串到数字转换_Javascript_Arrays_Json_Multidimensional Array_Error Handling - Fatal编程技术网

2D数组错误-Javascript字符串到数字转换

2D数组错误-Javascript字符串到数字转换,javascript,arrays,json,multidimensional-array,error-handling,Javascript,Arrays,Json,Multidimensional Array,Error Handling,静止-1: 我有这样的2D阵列: var t = [ ['1','2015','Name1','pic1'], ['2','2015','Name2','pic2'], ['3','2015','Name3','pic3'] ]; 为什么a)和b)工作正常 (a) var x=2;var L5=''; (b) for(var i=0;i

静止-1:

我有这样的2D阵列:

var t = [ ['1','2015','Name1','pic1'], ['2','2015','Name2','pic2'], ['3','2015','Name3','pic3'] ];
为什么a)和b)工作正常

(a)

var x=2;var L5='';
(b)

for(var i=0;i<(t.length);++i){var L5='';}
但是c)、d)、e)和f)不起作用,我会得到类似TypeError的错误:“undefined”不是对象(计算“t[x][3]”-如果我使用alert(typeof x),则类型是number

(c)

for(var i=0;i<(t.length);++i{var x=+t[i][0];var L5='';}
(d)

for(var i=0;i<(t.length);++i){var x=parseInt(+t[i][0]);var L5='';}
e) 我也尝试使用
Number(x),x=0+t[I][0];x=1*t[i][0];x=t[i][0]/1;编号(t[i][0])

这就好比如果我从数组中获取索引号,将其从字符串转换为数字x,那么我就不能将其作为索引号使用到像t[x][3]+'.png'>'这样的数组中

但是,如果数字来自like
varx=2;
或者来自for(vari=0;i<(t.length);++i)

静止-2:

如何在JSON的帮助下上传/下载与文件相同的“var t=[…]”,而不使用典型的JSON
[key1:value1,key2:value2,key3:value3]
设置,但只使用与问题1类似的值。 我非常喜欢使用2D格式
arr[x][y]
,但如果可能的话,不使用键1、键2


感谢

主数组
t
只有3个元素。最后一个子数组在0位置有一个
3
,因此
t[3]
未定义的
。我手工制作了这个演示,没有运行它,主数组比
var t=[“1.1',“2015年,,“2015年,,“2015年,,“BMW”,“宝马”,“11116D,”宝马,“1111116D,”他们他们他们,“1.1他们他们,”1.1他们,“1.1他们,”2015年,,“2015年,,“宝马”,“宝马”,“宝马”,“11116D他们”,“1111116D他们,”111111116D他们他们他们他们他们,”他们他们他们他们他们他们,”他们他们他们他们他们他们他们,”,”律律律律律律政,“四四四四四四维,”,”,”,”他们他们,“476万人,”,”,”,”,”47四四六六六六六六六六六六六六六六六六六六六六万万,”,”,”,”,”,”,”,”,”,”,”,”,”,”,”,”,”47金金金金,“四四四四力力拉,”,”,”,”,”,”,”,”,”四四四万万六六六六六六六六六六六六六六六六六六六六六六六六'宝马1'u 4 dyra'、'2'、'2'、'2'、'2'、'3'、'2'、'1',‘2’、‘4’、‘5’]、…
或者像这样大约400行,所以我上面的演示可能有这个错误。您可以做的是添加代码,在尝试访问
t[x][3]
之前检查
t[x]
是否已定义。我会尝试一下,我一直在使用arr[x][y]很多是因为它让我可以使用索引快速查找数据。在我要对如此大量的数据进行排序之前,所有这些都工作得很好。然后我丢失了索引ID,我还将它用作每行图片的名称。因此,我将图片名添加到数组中,并使用同一数组中的第一个ID号来指向我想要获取的图片!(希望我的英语还可以?)是的,我理解(基本上,我认为)你在做什么,只要数组中的“链接”正常就没有问题。测试很容易-只需将
t[x]
未定义的
进行比较,如果不是
未定义的
t[x][3]
,就可以访问
var x = 2; var L5 = '<img class="demo" src="b2/'+ t[x][3] +'.png">';
for (var i = 0; i < (t.length); ++i) { var L5 = '<img class="demo" src="b2/'+ t[i][3] +'.png">'; }
for (var i = 0; i < (t.length); ++i) { var x = +t[i][0]; var L5 = '<img class="demo" src="b2/'+ t[x][3] +'.png">'; }
for (var i = 0; i < (t.length); ++i) { var x = parseInt(+t[i][0]); var L5 = '<img class="demo" src="b2/'+ t[x][3] +'.png">'; }