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

时间:2019-03-01 15:00:56

标签: javascript arrays

ItemTemplate

返回var array = []; array[1] = { test: true }; console.log(array.length);,因为即使它为空,它仍在计算索引0。无论如何要避免这种情况,所以我的输出长度为2

2 个答案:

答案 0 :(得分:5)

不。您已创建一个sparse array

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

var obj = {}

obj[1] = "test";

console.log(
  Object.keys(obj).length // shows the number of elements
)

答案 1 :(得分:0)

如果只想计算已定义的元素,请使用filter方法。

var array = [];

array[1] = {
  test: true
};

console.log(array.filter(e => e !== undefined).length);