1. 程式人生 > >用 splice 函數分別實現 push、pop、shift、unshift 的方法

用 splice 函數分別實現 push、pop、shift、unshift 的方法

需要 param sam scrip eve code 函數實現 () ava

主要需要註意的是不同方法他們本身返回的值應該是什麽,是數組當前的長度,還是取出的元素的值,再在splice函數裏面進行相應的return就可以了。具體如下:

  • 用 splice函數實現 push方法
function samePush(arr, value){
    arr.splice(arr.length, 0, value)
    return arr.length
}

var arr = [3, 4, 5]
//使用push方法
arr.push(10) // arr 變成[3,4,5,10],返回4(length長度)

//調用函數samePush()
samePush(arr,12) // arr變成[3, 4, 5, 10, 12],返回5(length長度)

  • 用 splice函數實現 pop方法
function samePop(arr) {
    return arr.splice(arr.length-1, 1)
}

var arr = [3, 4, 5, 16, 17]
//使用pop方法
arr.pop() // arr 變成[3, 4, 5, 16],返回17(取出的元素值)

//調用函數samePop()
samePop(arr) // arr 變成[3, 4, 5],返回16(取出的元素值)

  • 用 splice函數實現 shift方法
function sameShift(arr) {  
    return arr.splice(0,1)
}

var arr = [3, 4, 5, 16, 17]
//使用shift方法
arr.shift()  // arr 變成[4, 5, 16, 17],返回3(取出的元素值)

//調用函數sameShift()
sameShift(arr)  // arr 變成[5, 16, 17],返回4(取出的元素值)

  • 用 splice函數實現 unshift方法
function sameUnshift(arr,value) {  
    arr.splice(0,0,value)
    return arr.length
}

var arr = [3, 4, 5, 16, 17]
//使用unshift方法
arr.unshift(22)  //arr 變成[22, 3, 4, 5, 16, 17],返回6(length長度)

//調用函數sameUnshift()
sameUnshift(arr,11)  // arr 變成[11, 22, 3, 4, 5, 16, 17],返回7(length長度)

參考鏈接

  • 參考 JavaScript 之 對象/JSON/數組
  • 參考 JavaScript 數組操作方法 和 ES5數組拓展

用 splice 函數分別實現 push、pop、shift、unshift 的方法