| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 30.JavaScript数组基础、遍历、底层实现、push、pop、at、length -> 正文阅读 |
|
[JavaScript知识库]30.JavaScript数组基础、遍历、底层实现、push、pop、at、length |
文章目录数组前面讲到的对象虽然是非常强大的工具,但是,我们在编写代码时常常需要处理一些有序数据的集合。在有序集合中,元素的排列是有前后顺序的,例如:文章的列表、章节目录。由于对象并不能提供属性的有序访问,这种情况下,就需要我们使用新的数据结构数组。 数组声明我们可以通过两种方式创建一个空的数组:
由于第二种方式不仅简单,而且直观,我们常常采用第二种方式。 在声明一个数组时,我们可以直接进行初始化:
以上代码创建了一个包含五个元素的数组。 元素访问 我们可以通过下标的方式访问数组元素,需要注意的是,数组的编号是从
代码执行结果: 元素替换 通过下标,我们可以直接替换一个数组元素:
元素添加 通过下标向数组的末尾添加一个元素:
数组长度 通过数组的
循环添加 我们可以利用循环迅速创建一个任意长度的数组,这在我们编程中经常用到:
元素类型
at()访问元素的方法并非一种,我们还可以通过
代码执行效果如下: 以上代码的执行效果和使用 最后一个元素 如果我们希望访问数组的最后一个元素,应该怎么办呢? 我们可以使用
但是这么做非常的不优雅,我们需要写两次数组的名字,此时,我们可以使用
同理,访问倒数第二个元素可以使用 push、pop、shift、unshift除了直接使用下标访问数组元素,数组还提供了四个方法用于在数组的首尾添加、删除元素:
栈栈是编程中最常用的线性数据结构,我们可以使用
队列队列是另外一个常用的线性数据结构,我们可以使用
清奇的脑回路 当然,我们可以使用 遍历最简单的遍历数组的方式是
代码执行结果: 虽然这么做毫无问题,但是为了更加优雅,我们可以使用
代码执行结果和上面并无差别: 但是这么做也有一个缺点,就是没有办法获得元素下标,所以我们需要在合适的场景下做合适的选择。 length.length的意义我们可以使用数组的
代码的执行结果是不是和想象的不太一样: 我们通常情况下不这么使用数组,所以仍然可以使用 .length可写从直观上理解,
代码执行结果如下: 修改
Array()我们使用
如果我们正好要创建一个具有单个数字的数组,就会出错。
为了避免出现不必要的错误,还是建议使用 多维数组
toString()数组的
数组比较数组的本质是一个特殊的对象,因此我们不应该使用
数组比较:
数组与基础类型比较:
虽然其中有一定的规律,但是不建议使用 数组的本质数组是一个特殊的对象,方括号加下标的访问方式 数组是对象的扩展,一个属性有序,而且具有 我们在最初的文章中曾介绍, 如何验证数组是一个对象的本质呢? 实验一,数组变量存储的是引用:
实验二,给数组添加属性:
代码执行效果: 但是这么做就会破坏数组的特性,将数组变成一个普通的对象。 错误的数组使用
如果我们不能把数组当作一个有序的数据结构,可以优先考虑对象。 性能在数组的末端插入数据比数组的头部插入数据要快,也就是 这是因为,从数组头部移除数据后,引擎会做三件事:
数组里面的元素越多,耗费时间越长, 总结
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 17:14:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |