js中slice()与splice()的使用与比较,直接看例子记得牢

it2025-02-17  25

通过例子进行简单比较

slice()

var arr = ['马里奥','路易吉','塞尔达','林克','加农'] var result = arr.slice(0,2) //0为截取开始的索引(包含),2为截取结束时的索引(不包含) console.log(result); //“马里奥,路易吉” console.log(arr); //“马里奥,路易吉,塞尔达,林克,加农”

两个参数分别为start与end,调用返回截取结果,不改变原数组

var arr = ['马里奥','路易吉','塞尔达','林克','加农'] var result = arr.slice(1) console.log(result); //“马里奥,路易吉,塞尔达,林克,加农” console.log(arr); //“马里奥,路易吉,塞尔达,林克,加农”

一个参数时,为开始索引,截取开始索引之后所有元素, 不改变原数组

var arr = ['马里奥','路易吉','塞尔达','林克','加农'] var result = arr.slice(1,-1) //1为截取开始的索引(包含),-1为截取结束时的索引(不包含) console.log(result); //“路易吉,塞尔达,林克” console.log(arr); //“马里奥,路易吉,塞尔达,林克,加农”

最后一个元素索引为-1,以此类推,且不包含该索引指向的元素,不改变原数组

重点!!slice返回截取元素,不改变原数组!

splice()

var arr = ['马里奥','路易吉','塞尔达','林克','加农'] var result = arr.splice(0,2) //0为截取开始的索引(包含),2为删除长度 var result = arr.splice(0,2); console.log(result); //"马里奥,路易吉" console.log(arr); //"塞尔达,林克,加农"

两个参数分别为start与length,调用返回删除元素,改变原数组

var arr = ['马里奥','路易吉','塞尔达','林克','加农'] var result = arr.splice(0,1,"奥里给") //0为开始索引,1为删除长度,"奥里给为删除后再添加的元素" console.log(result); //"马里奥" console.log(arr) //"奥里给,路易吉,塞尔达,林克,加农"

可以理解为第一个第二个参数是选中并删除一堆儿元素,后面的所有参数插入这个’堆儿‘的位置。 **

重点!!返回删除元素,改变原数组!!

**

最新回复(0)