1.slice()不改变原数组
数组切割,可接受一个或者两个参数,即(返回项的起始位置,结束位置)。若一个,即表示从该参数指定的位置开始,到当前数组末尾的所有项。若两个,则表示起始到结束位置之间的所有项,包含起始位置但是不包含结束位置的项。
arr = [1,2,3,4,5]
arr.slice(1,3)
[2,3]
arr = [1,2,3,4,5]
arr.slice(-2)
[4,5]
数组的总长度 + (-2) = 3
2.splice()改变原数组
向数组中插入数据,始终返回一个数组。该返回的数组为从原始数组中删除的项。
var arr=[1,2,3,4]
删除:指定一个参数,删除该参数为索引前的所有项,不包含该项
arr.splice(2)------>arr = [3,4]
指定两个参数(删除的起始位置,要删除的项个数),包含起始位置
arr.splice(2,1)------>arr = [3]
插入:指定三个数(起始位置,0,要插入的项值)
arr.splice(3,0,100)----->arr = [1,2,3,100,4]插入在索引位置前面
替换:指定三个数(起始位置,要替换的项数,要替换的项值)
arr.splice(0,2,100)----->arr = [100,3,4]