javascript数组方法splice()和slice()的做用和区别的总结

splice() 和 slice()惟一的共同点是都是对数组的操做,还有就是长的很像,有时候容易搞混。数组

这两个最的区别:
splice()会改变原来的数组,返回的是被改变的内容,好比说经过splice删掉了某一项,那么返回的是删掉的这一项,固然仍是会以数组的形式返回。
举个栗子this

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

被删掉的是索引未为2的一项,返回的也只有这一项
因此若是想删掉某一项,并不须要获得一个新的数组,只须要prototype

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

slice不会对原数组进行改变,会返回一个新的数组。利用slice一样也能够实现根据索引删除某一项code

// 删除数组里的某一项 返回一个新的数组 不直接修改数组
Array.prototype.removeAryItemByIndex = function(index) {
    return this.slice(0,index).concat(this.slice(index+1))
}
相关文章
相关标签/搜索