【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。

相关推荐
小爬的老粉丝1 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
满栀5852 小时前
状态管理:Redux、Vuex、Pinia 核心区别
前端·javascript·typescript
大龄码农有梦想4 小时前
Vue + BPMN.js + Camunda:搭建企业级流程设计器完整实践
javascript·vue.js·流程设计器·bpmn.js·bpmn·流程审批·工作流设计器
Eloudy5 小时前
ReAct 原理简介
前端·javascript·人工智能·react.js·agent·gpu
ZJU_统一阿萨姆6 小时前
【DSH】如何将 DeepSeek Harness 嵌入生产环境?万字解构 DeepSeek Agent Harness 的运行机制与安全边界
前端·javascript·安全
夏天一说说7 小时前
API 安全】API-Pentest:基于 JS 分析 + AI Agent 的自动化 API 渗透测试工具实战指南
javascript·人工智能·安全·api
sunly_7 小时前
TypeScript总结:16、面向对象速查
前端·javascript·typescript
张元清7 小时前
React useInterval Hook:没有过期闭包的 setInterval (2026)
javascript·react.js
MXN_小南学前端7 小时前
React超长文本域中实现“返回顶部”浮动按钮
前端·javascript·react.js
gs801408 小时前
解构 Cordis:面向“时空可组合性”的 TypeScript 元框架深度剖析
前端·javascript·typescript