数组长度返回0

 石蓉亮 发布于 2023-01-31 13:15

任何人都可以帮助解释为什么长度返回0?非常感谢你提前!

var errors = [];
errors[''] = "Monday Morning slot already taken. Would you like to replace it?";
console.log(errors);
document.write(errors.length);

cookie monst.. 21

只有数字索引会影响.length数组.

允许使用其他命名属性,但它们不是Array对象的典型用法.通过使用"",您将在对象上创建非数字属性.您可以像这样访问它:

errors[""];

但是你不能用典型的Array方法来实现它.


对于命名属性,通常使用Object.无论哪种方式,您都可以通过使用获得自己的可枚举属性(包括数字索引)的数量Object.keys().

Object.keys(errors).length;


Derek 朕會功夫.. 6

因为这不是你添加项目的方式,因为Arrays只接受数字键.你这样做:

errors.push("blah");  /*or*/  errors[0] = "blah";

//Now if you check the length:
errors.length;  //1

此外,如果您将其用作对象,'' 则也不是有效名称.

*更正:看起来你可以使用""(空字符串)作为键.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有