zoukankan      html  css  js  c++  java
  • 用 splice 函数分别实现 push、pop、shift、unshift 的方法

    主要需要注意的是不同方法他们本身返回的值应该是什么,是数组当前的长度,还是取出的元素的值,再在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长度)
    

    参考链接

  • 相关阅读:
    [POJ]poj2632(模拟)
    [EOJ]2019 ECNU XCPC March Selection #2
    [POJ]POJ1328(trie)
    卡特兰数相关总结
    2019海亮夏令营随笔
    树上数数 题解
    护卫小队 题解
    洛谷 P2966 [USACO09DEC]牛收费路径Cow Toll Paths 题解
    洛谷 P4735 最大异或和
    登峰造极 题解
  • 原文地址:https://www.cnblogs.com/evenyao/p/9346786.html
Copyright © 2011-2022 走看看