我有一个Javascript数组数组。 当我将数组打印到控制台时,我得到:
console.log(my_array_of_arrays);
Array[2] ->, Array[2] ->,
0: 678 0: 1168
1: 865 1: 1370
length: 2 length: 2
这表明两个阵列中都有2个项目。
然后当我通过访问“。length”或my_array [1]来访问数组中的最后一项时,它告诉我数组只有1项,第二项是未定义的。
var my_array = my_array_of_arrays[1];
console.log(my_array, my_array.length, my_array[0], my_array[1]);
[1168, 1370], 1, 1168, undefined
正如你所看到的那样,如果我在同一个控制台日志语句中完成所有操作,那么我知道数组没有改变。
这里可能会发生什么,我完全被难过了。
为了清晰而编辑
答案 0 :(得分:0)
从Chrome控制台
spo = [000,111]
(spo[0] == 000) //true
(spo[1] == 111) //true
我不确定你还能做什么= /
答案 1 :(得分:0)
我发现在我调用console.log()之后,函数my_array [2]没有被设置。 然而,这已经显示出console.log()的一些奇怪的行为 它不一定显示调用时数组的实时值。
例如。
var my_array = [111];
console.log(my_array);
my_array[1] = 222;
打印:
[111, 222]
当我期待它打印时:
[111]
这意味着console.log()并不总是显示调用时实际值的“实时”表示。
但是,如果我访问数组上的属性,它将显示实时值。
示例:
var my_array = [111];
console.log(my_array.length, my_array[1]);
my_array[1] = 222;
按预期打印:
1, undefined
猜猜我不能相信控制台以及我一直以来!