Javascript数组在控制台中显示2个值,访问时仅显示1个值
我有一个Javascript数组。 当我将阵列打印到控制台时,我得到: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
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的调用,但它们似乎与我尝试访问的数组不在同一范围内。我知道。问题是,对于我的数组数组中的其余数组,它工作得很好。这扰乱了我的思维,我知道。问题是,对于我的数组数组中的其余数组,它工作得很好。这让我心神不宁