Javascript - 数组长度包括0索引,即使是空的

Ric*_*ett 0 javascript arrays

var array = [];

array[1] = {
  test: true
};

console.log(array.length);
Run Code Online (Sandbox Code Playgroud)

返回,2因为它仍在计算索引0,即使它是空的.无论如何要避免这种情况,所以我的长度输出会是1多少?

mpl*_*jan 5

不,您已经创建了一个稀疏数组

改为使用对象,然后Object.keys(obj)返回条目数

var obj = {}

obj[1] = "test";

console.log(
  Object.keys(obj).length // shows the number of elements
)
Run Code Online (Sandbox Code Playgroud)