【JS】数组详解

数组是js中最常用到的数据集合,它是引用数据类型的一种(其他二者为Object和Function),但其本质是Object。

一、数组的组成

数组由三部分组成,分别是索引、元素和length。

索引:用于标识元素,默认从0开始依次递增,也叫下标。

元素:存储数据的值,可以为任意数据类型,如果元素也为数组,就称为多维数组,嵌套了几层数组就是几维数组。

length:数组的长度(元素个数,即最大索引+1),当Object也定义了length且按序存储,此时这个Object就成为了可迭代对象(也叫伪数组),伪数组只是结构与数组相似,但是无法直接使用数组的方法。

二、创建数组

字面量方式(推荐)

语法: 声明变量关键字 变量名 = 元素1,元素2...

javascript 复制代码
let arr = [1,2,3]

构造函数方式

语法: 通过new关键字,实例化Array对象。

javascript 复制代码
let arr = new Array(1,2,3)

如果实例化时只传入一个数字n,会创建一个长度为n的数组,该数组包含了n个empty ,该数组又称为稀疏数组 ,即length比实际元素个数要大。

javascript 复制代码
let arr = new Array(3)
console.log(arr)  // [empty × 3]

创建元素为empty的数组有什么用呢?

适用于确定数组长度的场景下,如果返回的数据长度过长,会自动忽略,若不足剩余位置仍为empty。

相关推荐
zhangyao9403307 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
XinZong7 小时前
实测OpenClaw虾淘:全民工具AI时代,冷门非工具类的Skill还能出圈吗?
javascript
烛衔溟7 小时前
TypeScript 类的类型 —— 作为类型使用
javascript·ubuntu·typescript
之歆7 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化
kyriewen8 小时前
我关掉了Copilot:因为我写的代码出现在了别人的建议里
前端·javascript·ai编程
SmartRadio9 小时前
STM32WLE5 LoRa Smart TDMA 完整协议栈实现(工程级可直接编译)-【1】
javascript·stm32·单片机·嵌入式硬件·lora·自组网·smart tdma
竹林8189 小时前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换
前端·javascript
子云zy10 小时前
JS 对象与包装类:new 做了什么?字符串为什么有 length?
前端·javascript
茶底世界之下11 小时前
你的 Mac 里,藏着一支 AI 开发团队
前端·javascript
小白学大数据11 小时前
Playwright 爬虫:Python 爬取 JS 渲染的 JSP 网站
开发语言·javascript·爬虫·python·数据分析