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))
}