JavaScript学习笔记(3):数组

本文主要介绍了JavaScript数组的相关操作。JavaScript数组内容类型不限,可随意变更大小。文中详细阐述了获取数组长度、查找元素位置、裁剪、增删元素、排序、反转、拼接、连接成字符串等操作方法,还提及了多维数组。

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

JavaScript对数组内容的类型没有要求,可以是大杂烩。

arr.length

arr.length可以直接获取数组的长度

var arr=[1, 2, 3.14, 'Hello', null, true];
arr.length;//返回数组长度6

如果对arr.length进行赋值操作,则会改变数组的长度

var arr=[1, 2, 3.14, 'Hello', null, true];
arr.length=1;//数组为[1]
arr.length=3;//数组为[1,undefined,undifined]

索引越界情况

var arr=[1, 2, 3.14, 'Hello', null, true];
arr[7];//返回undefined
arr[8]=5;
arr;//此时数组变为[1, 2, 3.14, 'Hello', null, true,undefined,5];

数组和字符串不同,数组在创建完成以后可以对其大小进行变更,但是字符串在创建赋值以后长度不可变。

indexOf()

indexOf()方法返回对应值的位置

var arr=[1, 2, 3.14, 'Hello', true];
arr.indexOf(1);//返回0
arr.indexOf('hello');//返回3
arr.indexOf('abc');//返回-1

slice()

slice()用于裁剪数组,并返回一个新的数组。格式:slice(startIndex,endIndex),参数可选。

var arr=[1, 2, 3.14, 'Hello', true];
arr.slice(0,3);//返回[1,2,3],包头不包尾
arr.slice(2);//返回[3.14, 'Hello', true]
var arr1=arr.slice();//返回[1, 2, 3.14, 'Hello', true],通过该操作可以进行复制数组操作
arr1 === arr;//false,这里需要注意下

pop() and push()

pop()将数组的最后一个值删除并返回该值
push()将值添加到数组尾部,返回新数组的长度

var arr=[1, 2];
arr.push('a','b');//返回数组长度4,数组更新[1,2,'a','b']
arr.pop();//返回b,数组更新[1,2,'a']

unshift() and shift()

unshift()方法在数组头部添加元素,shift()在头部删除元素

var arr=[1, 2];
arr.unshift('a','b');//返回数组长度4,数组更新['a','b',1,2]
arr.shitf();//返回a,数组更新['b',1,2]

注意,如果数组已经为空,shift()方法会返回undefined

sort()

对数组进行排序,默认升序

var arr=[3,1,2];
arr.sort();//数组更新为[1,2,3]

reverse()

实现数组反转

var arr=[3,1,2];
arr.reverse();//数组更新为[2,1,3]

splice(index,num,***)

splice()中第一个参数是删除的起始位置,第二个参数是删除的长度,后面是在起始位置插入的元素。

var arr=[3,1,2,4];
arr.splice(1,2,5,6);//返回[1,2],arr更新为[3,5,6,4]
arr.splice(0,2);//返回[3,5],arr更新为[6,4]
arr.splice(1,0,3,2);//arr更新为[6,3,2,4]

concat

concat实现多个数组的拼接,但是不影响原来数组的结构

var arr=[3,1,2,4];
arr.concat(1,2,3,[6,7,8]);//返回新数组[3,1,2,4,1,2,3,6,7,8]

join()

join()方法将数组中每个元素使用指定的字符连接成字符串,并返回连接后的字符串

var arr=[3,1,2,4];
arr.join('-');//返回字符串3-1-2-4

多维数组

var arr=[[3,1,2,4],[7,9,8]];
arr[0][1];// 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值