为什么javascript在浏览器控制台中显示(66)[empty×;65,{…;}]?
一些常见的问题是,为什么数组看起来是零,即使里面有内容。我现在的问题有点奇怪。我为什么要看为什么javascript在浏览器控制台中显示(66)[empty×;65,{…;}]?,javascript,Javascript,一些常见的问题是,为什么数组看起来是零,即使里面有内容。我现在的问题有点奇怪。我为什么要看 (66) [empty × 65, {…}] 在chrome控制台中,即使数组中至少有一个数组值?这就是稀疏数组时看到的情况-定义了一些标记,但有些标记低于未定义(或从未分配给)的已定义标记,例如: const arr=[]; arr[65]=“foo”; 控制台日志(arr)只有65个空元素,如果您创建如下数组,则可能是: const arr=Array(65); arr.push(1); co
(66) [empty × 65, {…}]
在chrome控制台中,即使数组中至少有一个数组值?这就是稀疏数组时看到的情况-定义了一些标记,但有些标记低于未定义(或从未分配给)的已定义标记,例如:
const arr=[];
arr[65]=“foo”;
控制台日志(arr)代码>只有65个空元素,如果您创建如下数组,则可能是:
const arr=Array(65);
arr.push(1);
console.log(arr)
你能提供更多信息或例子说明为什么间隙是一个坏主意吗?@Zim84从这个问题的存在可以看出,它们很奇怪,也不直观。程序员会期望数组是元素的有序集合-对于一个集合来说,在有序集合的顶部没有任何值(不仅仅是未定义的,而是没有任何值)意味着什么?这没有多大意义-虽然可能,但这样的构造不是数组的用途。@kaido我注意到“在浏览器控制台中查看上面的内容,而不是代码段控制台”: