JS数组操作
变异操作
-
末尾添加-push,会改变原始数组,返回值为数组更新后的新数组长度。
-
末尾删除-pop,会改变原始数组,返回值为被删除的数组元素。
-
开头添加-unshift,会改变原始数组,返回更新后新数组长度。
-
开头删除-shift,会改变原始数组,返回被删除的数组元素。
-
添加、删除、替换-splice,会改变原始数组。
1、删除:删除(任意个数)—参数1:开始的索引;参数2:删除的长度
返回被删除的数组元素
2、添加(任意个数): 插入起始位置、0(要删除的项数)和要插入的项。
返回空;如果要插入多个项,可以再传入第四、第五…任意多个项。替换:替换(任意个数):即删除和插入数量相等项数的综合应用,可以指向指定位置插入任意数量的项,且同时删除任意数量的项。
3、指定3个指定参数:起始位置、要删除的项数和要插入的任意数量项。
返回被替换掉的数组元素;注意:插入的项数是不必与删除的项数相等。 -
排序-sort,会改变原始数组,返回排序后的数组。
-
翻转-reverse,会改变原始数组,返回翻转后的数组。
非变异方法
之前的方法会改变原始数组,有些方法则不会改变。
变异方法 (mutation method
),顾名思义,会改变原始数组。
相比之下,也有非变异 (non-mutating method
) 方法,例如:filter()
, concat()
和 slice()
。这些不会改变原始数组,但总是返回一个新数组。
- 筛选-filter,不会改变原始数组,返回筛选后的新数组。
- 拼接-concat,不会改变原始数组,返回拼接后的新数组。
- 截取-slice:包含开头索引不含结尾索引,返回截取的数组元素。