javascript数组要领splice()和slice()的作用和区分的总结

splice() 和 slice()唯一的共同点是都是对数组的操纵,另有就是长的很像,有时候轻易搞混。

这两个最的区分:
splice()会转变本来的数组,返回的是被转变的内容,比如说经由过程splice删掉了某一项,那末返回的是删掉的这一项,固然照样会以数组的情势返回。
举个栗子

    let animals = ['ant', 'bison','camel','duck','elephant']
    console.log(animals.splice(2,1)) //['camel']

被删掉的是索引未为2的一项,返回的也只要这一项
所以假如想删掉某一项,并不需要获得一个新的数组,只需要

   animals.splice(2,1)
   console.log(animasl)//['ant', 'bison','duck','elephant']
// 用某个元素替换掉数组里的某个元素 直接修正本来的数组
Array.prototype.replaceAryItem = function(index,val) {
    this.splice(index,1,val)
}

slice不会对原数组举行转变,会返回一个新的数组。应用slice一样也能够完成依据索引删除某一项

// 删除数组里的某一项 返回一个新的数组 不直接修正数组
Array.prototype.removeAryItemByIndex = function(index) {
    return this.slice(0,index).concat(this.slice(index+1))
}
    原文作者:huixu
    原文地址: https://segmentfault.com/a/1190000019423176
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞