Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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数组在控制台中显示2个值,访问时仅显示1个值_Javascript_Arrays - Fatal编程技术网

Javascript数组在控制台中显示2个值,访问时仅显示1个值

Javascript数组在控制台中显示2个值,访问时仅显示1个值,javascript,arrays,Javascript,Arrays,我有一个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_数组[1]来访问数组中的最后一项时,它告诉我数组只有1项,第2项未定义 var my_ar

我有一个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_数组[1]来访问数组中的最后一项时,它告诉我数组只有1项,第2项未定义

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
正如您所看到的,如果我在同一个控制台日志语句中执行所有操作,就会发生这种情况,因此我知道数组没有改变

这里到底发生了什么,我完全被难住了


为清晰起见进行了编辑

从Chrome控制台

spo = [000,111]
(spo[0] == 000) //true
(spo[1] == 111) //true

我不确定你还能在Chrome的控制台上做些什么

spo = [000,111]
(spo[0] == 000) //true
(spo[1] == 111) //true

我不确定您还可以做些什么=/

我发现,在调用console.log之后,函数中的值my_array[2]才被设置。 然而,这显示了console.log的一些奇怪行为。 它不一定在调用时显示数组的活动值

例如

这张照片是:

[111, 222]
当我期待它打印时:

[111]
这意味着console.log并不总是在调用时显示真实值的实时表示

但是,如果我访问数组上的属性,它将显示活动值

例如:

var my_array = [111];
console.log(my_array.length, my_array[1]);
my_array[1] = 222;
这将按预期打印:

1, undefined

我想我不能像以前那样信任游戏机了

我发现,在调用console.log之后,函数后面的值my_array[2]才被设置。 然而,这显示了console.log的一些奇怪行为。 它不一定在调用时显示数组的活动值

例如

这张照片是:

[111, 222]
当我期待它打印时:

[111]
这意味着console.log并不总是在调用时显示真实值的实时表示

但是,如果我访问数组上的属性,它将显示活动值

例如:

var my_array = [111];
console.log(my_array.length, my_array[1]);
my_array[1] = 222;
这将按预期打印:

1, undefined

我想我不能像以前那样信任游戏机了

你能在jsbin.com上发布一个链接到一个演示这一点的实例吗?你为什么不这样做:console.logmy_数组,my_数组.length,my_数组[0],my_数组[1];第二次调试?它来自同一行,在相同的事件之后吗?完全放置函数,以便我们可以分析它。这看起来就像你一直在摆弄Array.prototype,或者正在使用一些写得不好的库来实现这一点。在此上下文中,还有哪些脚本在运行?这是可能的,我正在使用Array.prototype。我正在使用jQuery FullCalendar插件。当我进行搜索时,我确实会找到对Array.prototype.slice.call的调用,但它们似乎与我尝试访问的数组不在同一范围内。请您在jsbin.com上发布一个链接,指向一个演示这一点的实例。为什么不这样做:console.logmy_Array,my_Array.length,my_Array[0],my_Array[1];第二次调试?它来自同一行,在相同的事件之后吗?完全放置函数,以便我们可以分析它。这看起来就像你一直在摆弄Array.prototype,或者正在使用一些写得不好的库来实现这一点。在此上下文中,还有哪些脚本在运行?这是可能的,我正在使用Array.prototype。我正在使用jQuery FullCalendar插件。当我进行搜索时,我确实会找到对Array.prototype.slice.call的调用,但它们似乎与我尝试访问的数组不在同一范围内。我知道。问题是,对于我的数组数组中的其余数组,它工作得很好。这扰乱了我的思维,我知道。问题是,对于我的数组数组中的其余数组,它工作得很好。这让我心神不宁