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