微信扫一扫打赏支持

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>

 

 

 

 

 

 
posted @ 2020-05-04 14:08  范仁义  阅读(171)  评论(0编辑  收藏  举报