下面总结了一些JavaScript中常用的数组操作方法。
验证是不是数组用 arr instanceof Array
或者Array.isArray(arr)
如果是返回truepush()
在数组末尾添加并返回数组长度pop()
移除数组的最后一项并返回移除的项shift()
移除数组中的第一项并返回移除的项unshift()
在数组前端添加任意个项并返回新的数组长度reverse()
反转数组
join()
将数组中的 值合并成字符串默认用,分割,可以自定义如join(‘|’);sort()
升序排列数组,调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序。可以接受一个比较函数作为参数
如果对数值进行排序可以通过如下方法:
1 | function compare(value1,value2){ //升序 |
如需降序排列升序后使用reverse()
即可concat()
基于当前数组中的所有项创建一个新数组,如果传入参数,会将参数添加到数组的末尾slice()
基于当前数组中的一或多个项创建一个新数组,接受一或两个参数,即要返回项的起始和结束位置,在只有一个参数的情况下返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之间的项,但不包括结束位置的项。
splice()
:
- 删除:删除任意数量的项,只需指定两个参数:要删除的第一项的位置和要删除的项数。例如splice(0,2)会删除数组中的前两项。
- 插入:可以向指定位置插入任意数量的项,只需提供3个参数:起始位置、0(要删除的项数)和要插入的项。如果要插入多个项可以再传入第四、第五,任意多个项。
- 替换:可以向指定位置插入任意多个项,且同时删除任意数量的项,只需指定3个参数:其实位置、要删除的项数和要插入的任意数量的项。
indexOf()
和lastIndexOf()
:这两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。indexOf()
从前向后查找,lastIndexOf()
从后向前查找,没找到的情况下返回-1