JS数组的push()、pop()、shift()和unshift()方法
JS数组的push()、pop()、shift()和unshift()方法
堆栈和队列
栈和队列都是动态的集合,在栈中,可以去掉的元素是最近插入的那一个。栈实现了后进先出。在队列中,可以去掉的元素总是在集合中存在的时间最长的那一个。队列实现了先进先出的策略。堆栈的基本概念
先上张图:
JAVAScript为数组专门提供了 shift() 和 unshift() 方法,以便实现类似队列的行为。由于 push() 是向数组末端添加数组项的方法,因此要模拟队列只需一个从数组前端取得数组项的方法。实现这一操作的数组方法就是 shift() ,它能够移除数组中的第一个项并返回该项,同时将数组长度减1。
顾名思义, unshift() 与 shift() 的用途相反:它能在数组前端添加任意个数组项并返回新数组的长度。因此,同时使用 unshift() 和 pop() 方法,可以从相反的方向来模拟队列,即在数组的前端添加数组项,从数组末端移除数组项。
简单得回忆一下:
push()方法可以在数组的末属添加一个或多个元素
shift()方法把数组中的第一个元素删除
unshift()方法可以在数组的前端添加一个或多个元素
pop()方法把数组中的最后一个元素删除
JS数组的push()、pop()、shift()和unshift()方法相关推荐
- js数组操作(push,pop,shift,unshift,slice,splice,concat,sort)
js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧.不过不会针对每个方法进行讲解,我只是选择其中的一些来讲. 首先来讲一下push和pop方法,这两个方法只会对数组从尾部 ...
- java 数组 push pop_JavaScript学习笔记:数组的push()、pop()、shift()和unshift()方法
JavaScript是一种弱类型语言,不像其它程序语言需要严格定义数据类型.在JavaScript中数组可以任意修改变动,这样也就出现了一个问题,如果边遍历数组边操作数组(比如删除当前项,则所有之后的 ...
- 数组的push()、pop()、shift()和unshift()方法
JavaScript的数组是一个拥有堆栈和队列自身优点的global对象.也就是说JavaScript数组可以表现的像栈(LIFO)和队列(FIFO)一样操作.这也是JavaScript数组强大的可操 ...
- 详解数组的push()、pop()、shift()和unshift()方法
数组的push.pop.shift和unshift方法 堆栈和队列 堆栈 实现类似栈的行为 队列 实现类似队列的行为 JavaScript的数组是一个拥有堆栈和队列自身优点的global对象.也就是说 ...
- js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip
js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会 ...
- push计算机语言,数组的操作push,pop,shift,unshift详解
JS中的数组提供了四个操作,以便让我们实现队列与堆栈! 小理论: 队列:先进先出 堆栈:后进先出 实现队列的方法: shift:从集合中把第一个元素删除,并返回这个元素的值. unshift: 在集合 ...
- vue2实现数组push/pop/shift/unshift方法重写
// 获取数组原型 const orginalPrototype = Array.prototype// 备份用来重新操作 const arrPrototype = Object.create(org ...
- arr的push,pop,slice.....各种使用方法详细介绍
arr的push,pop,slice-各种使用方法 arr.push(); 向数组的末尾追加元素 会修改原数组 返回值:修改后的length值 可以追加多个 arr[1,2,3]; arr1[4,5, ...
- JS数组移除元素的八种方法
JS数组移除元素的八种方法 一.修改arr的length方法 let arr = [1,2,3,4,5,6,7,8,9]; arr.length = 3; console.log('length',a ...
最新文章
- python getattr调用自己模块_在Python中通过getattr获取对象引用的方法
- android下m、mm、mmm编译命令的使用
- java 蓝桥杯 基础练习 Sine之舞
- MySQL数据库的基本操作命令
- Hadoop MapReduce执行过程(一)
- hystrix 页面_《SpringCloud微服务之Hystrix组件》
- Java事务管理之Spring+Hibernate
- python 文本分析教程_Python笔记_第五篇_Python数据分析基础教程_文件的读写
- 找出数组中的最大值和最小值
- while循环中使用read读取变量的一点小技巧
- js密码强度正则表达式_相信我,这20个正则表达式,能让你少写1000多行代码,建议收藏...
- Python爬虫之模拟CSDN网站登录
- Android Unable to find source java class:<File>because it does not belong to any of the source dirs:
- 推荐系统三十六式:矩阵分解 总结
- 洛谷 CF894A QAQ
- OPENGL OSG setNearFarRatio可以动态调节远近剪裁面
- fiddler手机下载证书提示No root certificate was found. Have you enabled HTTPS traff 解决方法 及手机配置代理后无网络问题
- 机器学习中的二分类问题评价指标之精确率、召回率、F1值通俗理解
- 微信CRM系统对客户关系管理有什么好处?
- Cacti的基本使用
热门文章
- ps scavenge java_Java垃圾回收机制
- 电子合同系统,1秒钟识破各种合同调包计
- Java Agent与ASM字节码介绍
- 桥田QT-650快换盘在FDS热熔自攻螺接工艺中的应用
- 苹果电脑导出GoodNotes录音
- php swoole yaf,swoole+yaf 实现定时执行任务
- 传送门骑士无限物品的服务器,传送门骑士怎么无限刷资源 无限资源获得方法...
- 一个新入职同事的真实工作思考总结,写的很生动
- 商标查询api 模糊查询商标列表
- 如何在不格式化的前提下将U盘从FAT32格式改成NFTS格式