JavaScript 数组的42方法
引言
在前端开发中,数组是一种常见且重要的数据结构。数组提供了许多便捷的方法来操作和处理其中的数据。本文将简单介绍前端中数组42个API,包括添加、删除、截取、合并、转换等操作。
数组方法中,大致可以分为以改变数组本身的,不改变数组本身的(返回一个新的数组),还有就是其他对数组本身功能性作用的方法
| 改变数组本身的方法 | 描述 |
|---|---|
| pop() | pop() 方法用于删除并返回数组的最后一个元素 |
| push() | push()方法用于向数组末尾添加一个或多个元素,并返回修改后的数组的新长度 |
| shift() | shift() 方法用于删除并返回数组的第一个元素 |
| unshift() | unshift() 方法用于向数组的开头添加一个或多个元素,并返回修改后的数组的新长度 |
| sort() | sort() 方法用于对数组进行原地排序,会直接修改原始数组,而不会创建新的数组。 |
| reverse() | reverse() 方法用于反转数组中的元素顺序,即将数组元素进行逆序排列 |
| splice() | splice() 方法用于从数组中删除、替换或添加元素,并返回被删除的元素组成的数组 |
| copyWithin() | copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中 |
| fill() | fill()方法可以填充一个数组中的所有元素 |
push() 和 pop()
push() 方法用于向数组末尾添加一个或多个元素,并返回修改后的数组的新长度
1 | const arr = [1, 2, 3] |
pop() 方法用于删除并返回数组的最后一个元素
1 | const arr = [1, 2, 3] |
unshift() 和 shift()
unshift() 方法用于向数组的开头添加一个或多个元素,并返回修改后的数组的新长度
1 | const arr = [1, 2, 3] |
shift() 方法用于删除并返回数组的第一个元素
1 | const arr = [1, 2, 3] |
sort()
sort() 方法用于进行对数组就地排序,不会复制或返回一个新数组,接收可选参数,一个回调函数,有a, b两个参数,当返回a < b时返回 -1 从小到大排序,当返回a > b时返回 1 从大到小排序,a == b时返回 0,保持原来的排序(默认排序是将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序
1 | const arr = [1, 3, 4, 2] |
reverse()
reverse() 方法用于对数组进行就地反转,顺序颠倒
1 | const arr = [1, 2, 3, 4] |
splice()
splice() 方法用于从数组中添加元素、删除或替换,并返回被删除的元素组成的数组,它会直接修改原数组
语法:array.splice(start, deleteCount, item1, item2, ...)
其中,start表示要修改的起始位置,deleteCount表示要删除的元素个数,item1、item2等表示要添加的元素。如果deleteCount为0,则表示只添加元素,不删除元素
1 | // 添加操作 |
copyWithin()
copyWithin是一种移动数组数据的高性能方法,copyWithin() 方法是通用的。它只期望 this 值具有 length 属性和整数键属性。虽然字符串也是类似数组的,但这种方法不适用于它们,因为字符串是不可变的。
copyWithin不会改变数组的长度,只会修改内容,它接收三个参数,第一个为复制到的目标位置(索引值),第二个是复制的起始位置(可选),如果为负数,则相当于从后往前数,第三个为结束位置,不包含此索引的位置(可选),起始位置不可小于结束位置,否者方法无效。并返回这个数组
1 | const arr1 = ['March', 'Jan', 6, 2, 'A', 'a'] |
fill()
JS中的fill方法可以填充一个数组中的所有元素,它会直接修改原数组。
语法:array.fill(value, start, end)
其中,value表示要填充的值,start和end表示要填充的起始位置和结束位置。如果不传入start和end,则默认填充整个数组。该方法返回的是被修改后的原数组
1 | const arr = [1, 2, 3] |
