push计算机语言,数组的操作push,pop,shift,unshift详解
JS中的数组提供了四个操作,以便让我们实现队列与堆栈!
小理论:
队列:先进先出
堆栈:后进先出
实现队列的方法:
shift:从集合中把第一个元素删除,并返回这个元素的值。
unshift: 在集合开头添加一个或更多元素,并返回新的长度
push:在集合中添加元素,并返回新的长度
pop:从集合中把最后一个元素删除,并返回这个元素的值。
具体说明:
1.shift()定义和用法
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法:arrayObject.shift()
返回值:数组原来的第一个元素的值。
说明:如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。
提示和注释:
注释:该方法会改变数组的长度。
提示:要删除并返回数组的最后一个元素,请使用 pop() 方法。
实例:在本例中,我们将创建一个数组,并删除数组的第一个元素。请注意,这也将改变数组的长度:
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.info(arr);
console.info(arr.shift());
console.info(arr);
输出:
George,John,Thomas
George
John,Thomas
2.unshift()定义和用法
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
语法:arrayObject.unshift(newelement1,newelement2,....,newelementX)
参数描述:
newelement1 必需。向数组添加的第一个元素。
newelement2 可选。向数组添加的第二个元素。
newelementX 可选。可添加若干个元素。
返回值:arrayObject 的新长度。
说明:unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。
请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。
提示和注释
注释:该方法会改变数组的长度。
注释:unshift() 方法无法在 Internet Explorer 中正确地工作!
提示:要把一个或多个元素添加到数组的尾部,请使用 push() 方法。
实例:在本例中,我们将创建一个数组,并把一个元素添加到数组的开头,并返回数组的新长度:
var arr = new Array()
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.info(arr);
console.info(arr.unshift("William"));
console.info(arr);
输出:
George,John,Thomas
4
William,George,John,Thomas
3.push() 定义和用法
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
语法:arrayObject.push(newelement1,newelement2,....,newelementX)
参数描述:
newelement1 必需。要添加到数组的第一个元素。
newelement2 可选。要添加到数组的第二个元素。
newelementX 可选。可添加多个元素。
返回值:把指定的值添加到数组后的新长度。
说明:push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。
提示和注释:
注释:该方法会改变数组的长度。
提示:要想数组的开头添加一个或多个元素,请使用 unshift() 方法。
实例:在本例中,我们将创建一个数组,并通过添加一个元素来改变其长度:
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.info(arr);
console.info(arr.push("James"));
console.info(arr);
输出:
George,John,Thomas
4
George,John,Thomas,James
4.pop() 定义和用法
pop() 方法用于删除并返回数组的最后一个元素。
语法 :arrayObject.pop()
返回值 :arrayObject 的最后一个元素。
说明 :pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
实例 :在本例中,我们将创建一个数组,然后删除数组的最后一个元素。请注意,这也会改变数组的程度:
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.info(arr);
console.info(arr.pop());
console.info(arr);
输出:
George,John,Thomas
Thomas
George,John
push计算机语言,数组的操作push,pop,shift,unshift详解相关推荐
- js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip
js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会 ...
- vue2实现数组push/pop/shift/unshift方法重写
// 获取数组原型 const orginalPrototype = Array.prototype// 备份用来重新操作 const arrPrototype = Object.create(org ...
- 在堆栈中,push为入栈操作,pop为出栈操作
LinkedList提供以下方法:(ArrayList无此类方法) addFirst(); removeFirst(); addLast(); removeLast(); 在堆栈中,push为入栈操作 ...
- js数组中foEach和map的用法详解 jq中的$.each和$.map
数组中foEach和map的用法详解 相同点: 1.都是循环遍历数组(仅仅是数组)中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项value, ...
- python多维数组添加元素_numpy中三维数组中加入元素后的位置详解
今天做数据处理时,遇到了从三维数组中批量加入二维数组的需求.其中三维数组在深度学习的特征数据处理时经常会使用到,所以读者有必要对该小知识点做到清楚了解并掌握.现对三维数组中的元素位置结合代码做详细归纳 ...
- STM32寄存器操作端口模式CRL/CRH详解
STM32寄存器操作端口模式CRL/CRH详解 首先,在开始讲解前,大家请先看如下一段代码: #define SDA_IN_24c02(){GPIOB->CRH&=0XFFF0FFFF; ...
- MySQL常用操作之创建存储过程语法详解
MySQL常用操作之创建存储过程语法详解 前言 简介 语法 创建结构 变量结构 入参变量和出参变量 流程控制 判断(IF 语句) 判断(CASE 语句) 循环(LOOP 语句) 循环(WHILE 语句 ...
- mongodb java查询_java操作mongoDB查询的实例详解
java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库 ...
- python使用kafka原理详解_Python操作Kafka原理及使用详解
Python操作Kafka原理及使用详解 一.什么是Kafka Kafka是一个分布式流处理系统,流处理系统使它可以像消息队列一样publish或者subscribe消息,分布式提供了容错性,并发处理 ...
最新文章
- Java Calendar.add()方法的使用,参数含义。指定时间差。
- 提示框一段时间以后消失setTimeout
- 时间:2014年3月27日文件和目录操作函数
- mysql 语句 求比值_Mysql求百分比
- 《老子》第八十一章 信言不美,美言不信
- 802.11帧聚合技术
- 如何不用服务器来开发一个小游戏
- 我用代码来给你们分析一个赚钱的技巧
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记24 popovers弹窗
- sudo apt-get nmap 报错锁占用
- 未打清分标识处理方式
- matlab求解方程2x的5次,5元二次方程求解
- Android-JNI开发系列《十二》总结JNI知识体系
- elasticsearch java 分页查询_elasticsearch深度分页问题
- CMU 15-213 Introduction to Computer Systems学习笔记(9) Program Optimization
- 虚拟机中安装windows XP系统
- 我爱你 php代码怎么打,微信翻译代码我爱你怎么写?微信翻译表白代码介绍大全...
- Python(数据类型思维导图)
- java 正则校验经纬度格式
- 计算机固态加机械硬盘,在台式机中添加固态/机械硬盘驱动器,让我与这篇文章一起教你...
热门文章
- linux安装crontab软件包,Linux 服务器 Crontab 的安装及使用
- Maven 配置环境变量后无法立刻生效-原因是黑窗口是配置前打开的,重新打开即可
- 最优化——单纯形法学习心得
- java企业号回调模式,微信公众平台企业号开发—开启回调模式
- sts4创建spring项目_使用STS4新建springboot项目
- python / 解决 pyinstaller 打包后运行时提示找不到模块的问题
- word中安装MathType
- NXP I.MX6ULL 交叉编译工具链下载地址?
- 盘点 Serverless 架构的六个特质
- 的微波感知_微波遥感的特点