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>