Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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 数组中大量的空值意味着有什么危害吗?_Javascript - Fatal编程技术网

Javascript 数组中大量的空值意味着有什么危害吗?

Javascript 数组中大量的空值意味着有什么危害吗?,javascript,Javascript,没什么害处。不过,在使用之前,请确保您正在测试该值是否已定义。完全没有坏处。但在使用之前,请确保您正在测试该值是否已定义。否。大多数JavaScript实现将分配两个插槽(即,数组将分配相同的内存量,就像它只有两个索引为0和1的元素一样).否。大多数JavaScript实现将分配两个插槽(即,数组将分配相同数量的内存,就好像它只有两个索引为0和1)的元素一样。考虑使用“键/值数组”来实现以下功能: var arr = []; arr[50] = 'foo'; arr[10000] = 'boo'

没什么害处。不过,在使用之前,请确保您正在测试该值是否已定义。

完全没有坏处。但在使用之前,请确保您正在测试该值是否已定义。

否。大多数JavaScript实现将分配两个插槽(即,数组将分配相同的内存量,就像它只有两个索引为
0
1
的元素一样).

否。大多数JavaScript实现将分配两个插槽(即,数组将分配相同数量的内存,就好像它只有两个索引为
0
1
)的元素一样。

考虑使用“键/值数组”来实现以下功能:

var arr = [];
arr[50] = 'foo';
arr[10000] = 'boo';
这样,您就失去了检测数组长度的能力(arr.length将是未定义的),您可以使用不同类型的循环对其进行迭代,但如果您不需要任何一种循环,那么这是一种更好的方法。

考虑使用“键/值数组”来实现以下目的:

var arr = [];
arr[50] = 'foo';
arr[10000] = 'boo';

这样,您就失去了检测数组长度的能力(arr.length将是未定义的),您可以使用不同类型的循环对其进行迭代,但如果您不需要任何一种循环,那么这是更好的方法。

取决于实现。这:

var arr = {};
arr[50] = 'foo';
arr[10000] = 'boo';

将在Chrome上给出
[1,2]
(在没有更多时间的情况下,然后用两个元素对密集数组进行排序),但在Firefox上出现
分配大小溢出
错误。

取决于实现。这:

var arr = {};
arr[50] = 'foo';
arr[10000] = 'boo';

将在Chrome上给出
[1,2]
(在没有更多时间的情况下,然后用两个元素对密集数组进行排序),但在Firefox上出现
分配大小溢出
错误。

。。。只要在访问数组时可以处理空值。。。只要在访问数组时可以处理空值