• JS数组常用方法参考---2、栈对应的方法


    JS数组常用方法参考---2、栈对应的方法

    一、总结

    一句话总结:

    栈是先进后出的结构,栈对应的方法有入栈和出栈,入栈的方法就是push,出栈的方法就是pop

    1、push方法?

    push方法的作用是向数组末尾添加一个或多个元素,参数是element1, ..., elementN,返回值是数组新的长度(length),影响原数组
    push方法-作用:向数组末尾添加一个或多个元素
    push方法-参数:element1, ..., elementN
    push方法-返回值:数组新的长度(length)
    push方法-是否影响原数组:肯定影响
    
    // 1、push的基本使用
    let arr=[1,2,3];
    console.log(arr);
    let new_length=arr.push(4,5);
    console.log(arr);
    console.log(new_length);

    2、pop方法?

    pop方法的作用是从数组中删除最后一个元素,并返回该元素的值,没有参数,返回值是删除的元素的值,影响原数组
    作用:从数组中删除最后一个元素,并返回该元素的值
    参数:没有参数
    返回值:删除的元素的值
    是否影响原数组:肯定影响
    
    let arr=[1,2,3,4,5];
    console.log(arr);
    let val=arr.pop();
    console.log(val);
    console.log(arr);

    3、为什么pop方法的返回值是删除元素的值而不是数组长度?

    因为删除的元素的值的信息比数组长度的信息重要,语言编写者在编写一个方法的时候,肯定是按符合思维习惯的方式编写的,理解了这个,方法就特别好记忆了

    4、调用数组方法另外的形式(除了 arr.方法名 外)?

    1、Array.prototype.push.apply(vegetables, moreVegs);
    2、[].push.call(this, elem);
    //2、push合并两个数组
    var vegetables = ['parsnip', 'potato'];
    var moreVegs = ['celery', 'beetroot'];
    
    // 将第二个数组融合进第一个数组
    // 相当于 vegetables.push('celery', 'beetroot');
    Array.prototype.push.apply(vegetables, moreVegs);
    
    console.log(vegetables);
    // ['parsnip', 'potato', 'celery', 'beetroot']
    
    //3、像数组一样使用对象
    var obj = {
      length: 0,
    
      addElem: function addElem (elem) {
          // obj.length is automatically incremented
          // every time an element is added.
          [].push.call(this, elem);
      }
    };
    
    // Let's add some empty objects just to illustrate.
    obj.addElem({});
    obj.addElem({});
    console.log(obj.length);
    // → 2
    console.log(obj);

    二、栈对应的方法

    博客对应课程的视频位置:

    1、push方法

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>1、push</title>
     6 </head>
     7 <body>
     8 <!--
     9 栈是先进后出的结构,栈对应的方法有入栈和出栈,入栈的方法就是push,出栈的方法就是pop
    10 
    11 push方法
    12 作用:向数组末尾添加一个或多个元素
    13 参数:element1, ..., elementN
    14 返回值:数组新的长度(length)
    15 是否影响原数组:肯定影响
    16 
    17 
    18 调用数组方法另外的形式(除了 arr.方法名 外)
    19 1、Array.prototype.push.apply(vegetables, moreVegs);
    20 2、[].push.call(this, elem);
    21 
    22 -->
    23 <script>
    24     // 1、push的基本使用
    25     // let arr=[1,2,3];
    26     // console.log(arr);
    27     // let new_length=arr.push(4,5);
    28     // console.log(arr);
    29     // console.log(new_length);
    30 
    31 
    32     //2、push合并两个数组
    33     // var vegetables = ['parsnip', 'potato'];
    34     // var moreVegs = ['celery', 'beetroot'];
    35     //
    36     // // 将第二个数组融合进第一个数组
    37     // // 相当于 vegetables.push('celery', 'beetroot');
    38     // Array.prototype.push.apply(vegetables, moreVegs);
    39     //
    40     // console.log(vegetables);
    41     // // ['parsnip', 'potato', 'celery', 'beetroot']
    42 
    43     //3、像数组一样使用对象
    44     // var obj = {
    45     //     length: 0,
    46     //
    47     //     addElem: function addElem (elem) {
    48     //         // obj.length is automatically incremented
    49     //         // every time an element is added.
    50     //         [].push.call(this, elem);
    51     //     }
    52     // };
    53     //
    54     // // Let's add some empty objects just to illustrate.
    55     // obj.addElem({});
    56     // obj.addElem({});
    57     // console.log(obj.length);
    58     // // → 2
    59     // console.log(obj);
    60 
    61 
    62 </script>
    63 </body>
    64 </html>

    2、pop方法

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>2、pop</title>
     6 </head>
     7 <body>
     8 <!--
     9 pop方法
    10 作用:从数组中删除最后一个元素,并返回该元素的值
    11 参数:没有参数
    12 返回值:删除的元素的值
    13 是否影响原数组:肯定影响
    14 
    15 为什么pop方法的返回值是删除元素的值而不是数组长度
    16 因为删除的元素的值的信息比数组长度的信息重要
    17 
    18 -->
    19 <script>
    20     let arr=[1,2,3,4,5];
    21     console.log(arr);
    22     let val=arr.pop();
    23     console.log(val);
    24     console.log(arr);
    25     val=arr.pop();
    26     console.log(val);
    27     console.log(arr);
    28 </script>
    29 </body>
    30 </html>
     
  • 相关阅读:
    2018-2019-2 20165209 《网络对抗技术》Exp3:免杀原理与实践
    2018-2019-2 20165209 《网络对抗技术》Exp2:后门原理与实践
    2018-2019-2 20165209 《网络对抗技术》Exp1:PC平台逆向破解
    2018-2019-2 20165209 《网络对抗技术》 Kali安装
    2018-2019-1 20165209 20165215 实验五 通讯协议设计
    2018-2019-1 20165209 《信息安全系统设计基础》第九周学习总结
    2018-2019-1 20165207 20165209 20165215 实验四 外设驱动程序设计
    2018-2019-1 信息安全系统设计实验三 并发编程 20165207 20165209 20165215
    2018-2019-1 20165207 20165209 20165215 实验二 固件程序设计
    2018-2019-1 20165207 20165209 20165215 实验一 开发环境的熟悉
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12670966.html
Copyright © 2020-2023  润新知