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

相关推荐
小龙报41 分钟前
【Coze-AI智能体平台】Coze OpenAPI 开发手册:鉴权、接口调用与 SDK 实践
javascript·人工智能·python·深度学习·microsoft·文心一言·开源软件
神の愛1 小时前
利用json-to-ts工具进行转换,放置在typeScript.ts文件中
javascript·typescript·json
悟空瞎说2 小时前
深度解析:Vue3 为何弃用 defineProperty,Proxy 到底强在哪里?
前端·javascript
leafyyuki2 小时前
告别 Vuex 的繁琐!Pinia 如何以更优雅的方式重塑 Vue 状态管理
前端·javascript·vue.js
某人辛木2 小时前
nodejs下载安装
开发语言·前端·javascript
zzginfo2 小时前
javascript 类定义常见注意事项
开发语言·前端·javascript
天下无贼!2 小时前
【功能实现】基于Vue3+TS实现大文件分片上传
开发语言·javascript·node.js·vue·html5
程序员小寒2 小时前
JavaScript设计模式(九):工厂模式实现与应用
开发语言·前端·javascript·设计模式
zhensherlock3 小时前
Protocol Launcher 系列:Agenda 优雅组织你的想法与日程
javascript·macos·ios·typescript·node.js·mac·ipad
清汤饺子3 小时前
Cursor + Claude Code 组合使用心得:我为什么不只用一个 AI 编程工具
前端·javascript·后端