javascript - 数组长度返回 0

标签 javascript arrays

谁能帮忙解释一下为什么 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/

相关文章:

php - 通过后表单序列化发送数据

javascript - JS : encapsulated foreach loop with arrays for JSON

arrays - Excel VBA 数组良好实践 : create a huge blank array at once or use redim preserve all the time?

javascript - 如何使用键盘事件对无序列表中的列表元素重新排序?

javascript - 如何解析 JSON 响应中的第二个 HTML anchor 元素

javascript - 如何填充asp :Textbox using value in ComboBox

javascript - 更改数组的顺序以匹配一组 DOM 元素的顺序

javascript - 如何按一定时间间隔一次显示数组中的一个类?

javascript - 如何在没有模式匹配的情况下用动态类型语言实现和类型

javascript - 在比较昂贵的 JavaScript 中合并数组的最快方法是什么?