谁能帮忙解释一下为什么 length 返回 0?非常感谢您!
var errors = [];
errors[''] = "Monday Morning slot already taken. Would you like to replace it?";
console.log(errors);
document.write(errors.length);
最佳答案
只有数字索引会影响数组的 .length
。
允许使用其他命名属性,但它们不是 Array 对象的典型用途。通过使用 ""
,您在对象上创建了一个非数字属性。您可以像这样访问它:
errors[""];
但是您无法使用典型的 Array 方法来实现它。
对于命名属性,您通常会改用对象。无论哪种方式,您都可以使用 Object.keys()
来计算自己的可枚举属性(包括数字索引)的数量。
Object.keys(errors).length;
关于javascript - 数组长度返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21356880/