深入理解JavaScript数组Array类型
168 浏览量
更新于2024-09-01
收藏 85KB PDF 举报
参数被视为数组的长度,而不是元素
vara = new Array(5); // 创建长度为5的空数组
这将创建一个含有5个空位的数组,而不是包含5个undefined的数组。尝试访问这些空位会返回undefined。
【3】有一个或多个元素参数,这些参数将作为数组的初始元素
vara = new Array('apple', 'banana', 'cherry'); // 创建包含3个字符串的数组
如果只有一个数值参数,但该参数是数字,那么Array构造函数会将其视为长度,而不是元素。例如,`new Array(3)`与`new Array('a', 'b', 'c')`的结果不同,前者创建一个空数组,后者创建一个包含三个字符串的数组。
数组方法
JavaScript的Array对象提供了一系列方法来操作数组,包括但不限于:
- `push()`:在数组末尾添加一个或多个元素,并返回新的长度。
- `pop()`:移除并返回数组的最后一个元素。
- `shift()`:移除并返回数组的第一个元素。
- `unshift()`:在数组开头添加一个或多个元素,并返回新的长度。
- `slice()`:返回一个新的数组,包含从开始到结束(不包括结束)的数组的一部分浅拷贝。
- `splice()`:添加/删除项目,然后返回被删除的项目。
- `concat()`:连接两个或更多数组,并返回结果。
- `join()`:将数组的所有元素放入一个字符串。默认用逗号分隔。
- `indexOf()`:返回指定元素在数组中第一次出现的位置,如果不存在则返回-1。
- `lastIndexOf()`:返回指定元素在数组中最后一次出现的位置,如果不存在则返回-1。
- `forEach()`:对数组的每个元素执行一次提供的函数。
- `map()`:创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后的返回值。
- `filter()`:创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
- `reduce()`:对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
数组属性
JavaScript数组还有一些特殊的属性,比如:
- `length`:返回数组的元素数量。
- `toString()`:返回数组元素的字符串形式,元素之间用逗号分隔。
- `valueOf()`:返回数组本身。
此外,JavaScript还提供了`Array.from()`和`Array.of()`方法,用于从类数组对象或可迭代对象创建一个新的数组实例。
JavaScript的数组类型具有灵活性,可以存储不同类型的值,并且提供了丰富的操作方法。然而,这种灵活性也可能导致一些陷阱,比如,使用索引为负数或者大于length的索引时,不会抛出错误,而是返回undefined。因此,在处理JavaScript数组时,开发者需要注意这些特性,以避免潜在的问题。
2021-10-10 上传
131 浏览量
249 浏览量
277 浏览量
116 浏览量
104 浏览量
175 浏览量
2021-10-10 上传
145 浏览量

weixin_38631738
- 粉丝: 5
最新资源
- 掌握MATLAB中不同SVM工具箱的多类分类与函数拟合应用
- 易窗颜色抓取软件:简单绿色工具
- VS2010中使用QT连接MySQL数据库测试程序源码解析
- PQEngine:PHP图形用户界面(GUI)库的深入探索
- MeteorFriends: 管理朋友请求与好友列表的JavaScript程序包
- 第三届微步情报大会:深入解析网络安全的最新趋势
- IQ测试软件V1.3.0.0正式版发布:功能优化与错误修复
- 全面技术项目源码合集:企业级HTML5网页与实践指南
- VC++6.0绿色完整版兼容多系统安装指南
- 支付宝即时到账收款与退款接口详解
- 新型不连续导电模式V_2C控制Boost变换器分析
- 深入解析快速排序算法的C++实现
- 利用MyBatis实现Oracle映射文件自动生成
- vim-autosurround插件:智能化管理代码中的括号与引号
- Bitmap转byte[]实例教程与应用
- Qt YUV在CentOS 7下的亲测Demo教程