数组的常用方法
2022/1/8 6:03:53
本文主要是介绍数组的常用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.数组的添加和删除
push()与pop():
这两个方法的功能与以前学的出栈和入栈方法是一样的,都是在原数组中操作的,并非生成一个修改后的新数组。push()在数组的尾部添加一个或多个元素,并返回数组新的长度;pop()删除数组的最后一个元素,减少数组长度并返回删除的值。
unshift()与shift():
类似于push()和pop(),只不过它们是在数组的头部进行添加和删除操作。unshift()是在数组头部添加一个或多个元素(将已存在的其他元素移动到更高索引的位置),返回数组的新长度;shift()则是删除数组的第一个元素并将其返回(删除后数组的其他元素会下移一个位置填充数组头部的空缺)。注意,使用unshift()一次性插入多个元素与多次调用unshift()插入多个元素的表现是不一样的,如下所示:
var a=[]; a.unshift(1); a.unshift(2); alert(a.toString());//a=[2,1] a.unshift(3,4); alert(a.toString());//a=[3,4,2,1],并非是像前面那样一个一个向头部插入 delete a[0]; alert(a.toString());//a=[,4,2,1],使用delete删除元素只是将该位置元素置为undefined,并不是从数组中移除
在这里可以看到,使用delete删除数组元素并不会改数组的length属性,也不会将元素从高索引处下移来填充空缺位。这样,使用delete删除元素会使得数组变成稀疏数组。
splice():
该方法是在数组中插入或删除元素的通用方法,它会修改原数组的元素,并非是创建一个修改后的新数组。splice()有多个参数,功能如下:
- 第一个参数:指定了插入和(或)删除的起始位置
- 第二个参数:指定了要删除的元素个数
- 随后任意多个参数:指定了需要插入的元素
因此,根据提供参数的个数,splice()方法有多个实现功能:
- 若仅提供了一个参数splice(a),splice()执行的是删除操作,表示从参数指定的起始位a开始到数组末尾的所有元素都将被删除;
- 若提供了两个参数splice(a,b),仍是删除操作,表示从第一个参数指定的起始位a开始,删除b个元素;
- 若提供两个以上参数,splice()会同时完成删除和插入操作(如果将第二个参数设为0,则只执行插入操作)。
var a=[1,2,3,4,5,6,7,8]; var n1=a.splice(4);//n1=[5,6,7,8],a=[1,2,3,4] var n2=a.splice(1,2);//n2=[2,3],a=[1,4] var n3=a.splice(1,0,'a','b');//n3=[],a=[1,'a','b',4] var n4=a.splice(1,2,[1,2],3);//n4=['a','b'],a=[1,[1,2],3,4]
concat():
该方法用于在数组后面拼接新的元素,所要添加的元素作为参数传递到concat()方法中,这个方法不会修改原数组,返回的是新创建的拼接后的数组。值得注意的是:若参数包含数组,则拼接进来的是参数数组的元素,而不是将整个数组作为一个整体拼接进来,但它又不会递归扁平化数组的数组(也即作为参数的数组内部若还嵌套着数组,此时该嵌套的数组将作为一个整体拼接进来)。
var a=[1,2,3]; a.concat(4,5); //返回[1,2,3,4,5] a.concat([4,5]);//返回[1,2,3,4,5] a.concat([4,5],[6,[7,8]]);//返回[1,2,3,4,5,6,[7,8]],length=7
2.数组转换为字符串输出
join():
该方法将数组中所有元素都转换为字符串并连接在一起,返回最后生成的字符串。它可以接收一个字符串参数用来作为分隔符,若不指定分隔符则默认使用逗号。
toString():
与不使用任何参数调用join()方法返回的字符串是一样的。
var a=[1,2,3]; a.join();// 输出"1,2,3" a.join(" "); //输出"1 2 3" a.toString(); //输出"1,2,3"
3.数组排序
reverse():
该方法将数组中元素的顺序颠倒,返回逆序的数组。它在原数组的基础上改变,并非创建新的逆序后的数组。
sort():
该方法将数组中的元素按字母表顺序排序并返回排序后的数组。同样,它也是在原数组的基础上进行更改。若想要按照其他方式进行排序,则可以向sort()方法传递一个比较函数。
var a=[33,4,1111,222]; a.sort(); //返回[1111,222,33,4],并非是我们以为的按数值大小排序 a.sort(function(a,b){ //按数值从小到大排序 return a-b; }); a.sort(function(a,b){ //按数值从大到小排序 return b-a; });
这篇关于数组的常用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26大厂数据结构与算法教程:入门级详解
- 2024-12-26大厂算法与数据结构教程:新手入门指南
- 2024-12-26Python编程入门指南
- 2024-12-26数据结构高级教程:新手入门及初级提升指南
- 2024-12-26并查集入门教程:从零开始学会并查集
- 2024-12-26大厂数据结构与算法入门指南
- 2024-12-26大厂算法与数据结构入门教程
- 2024-12-26二叉树入门教程:轻松掌握基础概念与操作
- 2024-12-26初学者指南:轻松掌握链表
- 2024-12-26平衡树入门教程:轻松理解与应用