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

时间:2015-05-10 15:04:51

标签: javascript arrays json multidimensional-array error-handling

Quiestion-1:

我有这样的2D数组:

var t = [ ['1','2015','Name1','pic1'], ['2','2015','Name2','pic2'], ['3','2015','Name3','pic3'] ];

为什么a)和b)工作正常

a)

var x = 2; var L5 = '<img class="demo" src="b2/'+ t[x][3] +'.png">';

b)

for (var i = 0; i < (t.length); ++i) { var L5 = '<img class="demo" src="b2/'+ t[i][3] +'.png">'; }

但是c),d),e)和f)不起作用,我得到类似TypeError的错误:'undefined'不是一个对象(评估't [x] [3]') - 如果我使用alert( typeof x)然后输入数字

c)

for (var i = 0; i < (t.length); ++i) { var x = +t[i][0]; var L5 = '<img class="demo" src="b2/'+ t[x][3] +'.png">'; }

d)

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">'; }

e)我也尝试使用Number(x), x = 0+t[i][0]; x = 1*t[i][0]; x = t[i][0]/1; Number(t[i][0])

就好像我从数组中获取索引号,将其从字符串转换为数字x然后我不能将其用作数组的索引号,如t [x] [3] +'。png“&gt;' ;

但是,如果数字来自var x = 2;,或来自for (var i = 0; i < (t.length); ++i)

这样的循环,那么此工作就可以了。

Quiestion-2:

如何在不使用典型的JSON [ key1:value1, key2:value2, key3:value3 ]设置的情况下,在JSON的帮助下上传/下载相同的“var t = [...]”作为文件,但只有我在问题1中所做的那样的值。 我喜欢使用2D格式arr[x][y],但没有key1,key2 ......如果可能的话。

由于

0 个答案:

没有答案