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))
}
相關文章
相關標籤/搜索