前言
在javascript中,数组是一种非常重要的数据类型,我们时常会和它打交道,最近在开发项目中频繁的使用到数组,但是自己对数组的众多方法已经是非常模糊了,为了方便自己以后能够更好的使用数组中的属性和方法,在此记录一下。
数组常用的属性和方法
常用属性
-
Array.length:返回数组的大小
常用方法
-
Array.pop():删除并返回数组的最后一个元素
-
Array.push():向数组的结尾添加元素
-
Array.shift():将元素移除数组
-
Array.unshift():向数组头部添加元素
-
Array.join():将数组元素连接起来以构成一个字符串
-
Array.concat():连接数组
-
Array.reverse():将数组进行反转
-
Array.sort():将数组进行排序
-
Array.slice():返回数组的一部分
-
Array.splice():插入,删除或替换数组中的元素
-
Array.toString():将数组转换为一个字符串
-
Array.map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
-
Array.forEach():对数组中的每一项运行给定函数,这个方法没有返回值
-
Array.filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
-
Array.some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true
-
Array.every():对数组中的每一项运行给定函数,如果该函数对每一项都返回ture,则返回true
-
Array.isArray():判断是否是数组
-
Array.reduce():迭代数组的所有项,然后构建一个最终返回的值,从数组的第一项开始,遍历数组的每一项到最后
-
Array.reduceRight():迭代数组的所有项,然后构建一个最终返回的值,从数组的最后一项开始,向前遍历到第一项
实例讲解
为了方便大家的理解和使用,我会将这些方法进行分类讲解和分析
(1):Array.length属性
(2):栈方法push()和pop()
数组中的栈方法
(3):队列方法shift()和unshift()
数组中的队列方法
(4):重排序方法sort()和reverse()
数组中的重排序方法
(5):操作方法slice()、splice()、concat()
数组中的操作方法
使用slice()方法,如果传入一个参数,则从开始下标到截取到数组的结尾,如果传入两个参数,则从开始下标到结束下标。
使用splice()方法,插入的项是从移除的下标那项开始添加。
(6):转换方法toString()和join()
数组中转换方法
(7):迭代方法some()、filter()、map()、forEach()、every()
数组中的迭代方法
在这些方法中,最相似的是every()和some(),它们都有用于查询数组中的项是否满足某个条件,对于every()来说,传入的函数必须对每一项都返回true,这个方法才会返回true,否则,它就会返回false,而some()方法只要传入的函数对数组中的某一项返回true,它就会返回true。
(8):归并方法reduce()和reduceRight()
数组中的归并方法
使用reduce()还是reduceRight(),主要取决于要从哪头开始遍历数组。除此之外,它们完全相同。
总结
数组中如此之多的方法,我们并不是每一个都需要记忆,只需找到规律然后对数组中的方法进行分组便可以实现很好的记忆方式。如:Array.pop()和Array.push(),Array.shift()和Array.unshift(),Array.slice()和Array.splice(),Array.some()和Array.every(),Array.reduce()和Array.reduceRight()。