【JS】数组基础

本文介绍了数组的基础知识,包括数组的概念、声明方式(直接量、Array函数、构造函数)、元素的读写、稀疏数组的产生以及多维数组的定义。此外,还提到了字符串的数组特性,如索引和length属性,但强调字符串不具备某些数组操作功能,如push和splice等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这只是基础部分,更深入部分可见后续的数组总结知识

一、概念

  1. 数组是值的有序集合。
  2. 数组中值(成员)称为元素,元素可以是任意类型的数据
  3. 元素具有位置,称为索引(小标),索引从0开始,是连续的数字。
  4. 索引从 0 开始,最大为 2^32-2,数组最大能容纳 4294967294 个元素

二、声明数组的方式

1. 直接量方式(常用)

let arr1 = [];	//空数组
let arr2 = [1, 2, 3, 'hello', true, null, ['a', 5, 6]]; //创建一个拥有多个元素的数组
let arr3 = [12];	//创建只有一个元素的数组,该元素的值是12

2. Array函数方式

let arr1 = Array();	空数组
let arr2 = Array(1, 2, 3, 'hello', true, null, ['a', 5, 6]);	//创建一个拥有多个元素的数组
let arr3 = Array(12);	// 创建一个具有12个元素的数组,只有一个数字参数就是表示数组元素的个数
let arr4 = Array('world')	//创建只有一个元素的数组,该元素的值是'hello'

3. Array构造函数方式

let arr1 = new Array();
let arr2 = new Array(1, 2, 3, 'hello', true, null, ['a', 5, 6])
let arr3 = new Array(12);
let arr4 = new Array('world')

三、数组元素的读写

1. 读取

数组[索引]
  1. 根据索引读取元素的值(索引是元素的位置)
  2. 如果读取不存在的元素,自动得到undefined

2. 修改

数组[索引] = 新值;
  1. 根据索引修改元素的值(索引是元素的位置)
  2. 如果给不存在的元素赋值,会自动添加元素

四、稀疏数组

  1. 如果数组中出现没有值的元素(没有值不等同于undefined或null),该数组称为稀疏数组

  2. 什么情况下产生稀疏数组

    • 使用Array()函数或者构造函数创建数组的时候,只指定了一个长度
    • 使用不存在不连续的索引赋值
    • 设置length的值(比原来的大)
  3. 应该尽量避免稀疏数组

五、数组的遍历

1. 使用循环结构

使用数组的length属性来控制循环次数

for (var i = 0;i < 数组.length;i ++){
	console.log(a数组[i]);
}

2. 使用for in结构

是用于遍历对象的对象,数组也是对象的一种。使用该方式遍历数组,会把元素以外的其他属性也遍历出来

for(var i in 数组){
	console.log(数组[i]);
}

六、多维数组

如果数组的元素还是数组,就是多维数组

var cityList = [
    ['南京','苏州','无锡','南通','泰州'],
    ['杭州','宁波','绍兴','温州','湖州'],
    ['合肥','芜湖','蚌埠','安庆','铜陵'],
    ['南昌','九江','赣州','上饶','赣南'],
]

七、数组元素的添加和删除

具体细节可见之后和ES6总结的数组方法

1. 添加元素

  1. 第一种方式,利用**length()**作为索引添加新元素
  2. 第二种方式,使用push()在数组后面添加一个或者多个元素
  3. 第三种方式,使用unshift()在数组的前面添加一个或者多个元素
  4. 第四种方式,使用splice()在数组指定位置添加一个或多个元素

2. 删除元素

  1. 第一种方式,修改length的值比原来小
  2. 第二种方式,使用pop()在数组后面删除最后一个元素
  3. 第三种方式,使用shift()在数组前面删除第一个元素
  4. 第四种方式,使用splice()在数组指定位置删除指定数量个元素

八、字符串的数组特性

  1. 字符串是由字符组成的串,字符串中的每个字符类似于数组中的元素

  2. 字符串具有部分数组特性

    • 字符串中的每个字符也有索引,从0开始,连续的数字,可以通过索引读取到字符串中的某个字符
    • 字符串也有length,可以获取字符串的长度(字符的个数)
  3. 字符串不具备的数组特性

    • 没有push,pop,splice等方法
    • 不能单独修改其中的某个字符串
    • length不能被修改
  4. 我们把字符串这种具有部分数组特性但又不是数组的数据,成为类数字或伪数组

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值