Javascript的shift()和push(),unshift()和pop()方法简介
栈方法:
Javascript为数组专门提供了push()和pop()方法,以便实现类似栈的行为。来看下面的例子:
var colors=new Array(); //创建一个数组
var count=colors.push("red","green"); // 推入两项,返回修改后数组的长度
alert(count); // 2 返回修改后数组的长度
var item=colors.pop(); //取得最后一项
alert(item); // "green"
alert(colors.length); // 1
队列方法:
结合使用push()和shift()方法,可以像使用队列一样使用数组:
var colors=new Array();
var count=colors.push("red","green"); //推入两项
alert(count); //2
count= colors.push("black"); // 从数组末端添加项,此时数组的顺序是: "red", "green" ,"black"
alert(count); //3
var item=colors.shift(); // 取得第一项
alert(item); // "red"
alert(colors.length); //2
从例子中可以看出:shift()和push()方法可以从数组末端添加项,能够移除数组中的第一项并返回该项。
若是想实现相反的操作的话,可以使用unshift()和pop()方法,即在数组的前端添加项,从数组末端移除项。
var colors=new Array();
var count=colors.unshift("red","green");// 推入两项
alert(count); // 2
count=colors.unshift("black"); // 从数组的前端添加项,此时数组的顺序是: "black", "red", "green"
alert(count); //3
var item=colors.pop();
alert(item); // 移除并返回的是最后一项 "green"
由以上的两组例子,大家可以清晰的看到这两组方法的用法了。
Javascript的shift()和push(),unshift()和pop()方法简介的更多相关文章
- Javascript数组中shift()和push(),unshift()和pop()操作方法使用
Javascript为数组专门提供了push和pop()方法,以便实现类似栈的行为.来看下面的例子: var colors=new Array(); //创建一个数组 var count= ...
- JS数组中shift()和push(),unshift()和pop()操作方法使用
Javascript为数组专门提供了push和pop()方法,以便实现类似栈的行为.来看下面的例子: var colors=new Array(); //创建一个数组 var count= ...
- JavaScript -- Array中的push()方法和concat()方法介绍
Array => push()方法向数组的末尾添加一个或者多个元素,也就是说它会改变数组本身 concat() => concat()方法用于连接2个或者多个数组,但它的特殊之处在于,它会 ...
- 数组中的元素 增加push用法 unshift() 方法 和减少pop() 方法 shift() 和其他位置增删 splice() 方法 join() 方法 reverse() 方法 sort() 方法
push用法 push 英 [pʊʃ] 美 [pʊʃ] vt. 推,推动; vt. 按; 推动,增加; 对…施加压力,逼迫; 说服; n. 推,决心; 大规模攻势; 矢志的追求 定义和用法 push( ...
- 原生JS数组方法实现(一)————push()、unshift()、pop()和shift()
push 向数组末尾添加一个或多个元素,并返回数组新的长度 ```javascript function push(){ for(let i=0;i<arguments.length;i++){ ...
- JS pop push unshift shift的作用与区别
白话JS中数组方法pop push unshift shift的作用与区别,通过本文,你大概能知道这四种数组方法的基本使用与大致区别. 首先,这四种方法会直接修改数组,请先记住这一点. 我们先把pop ...
- 021——VUE中变异方法 push/unshift pop/shift
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 数组增、删方法(push()-unshift()-pop()和shift())
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [译]Javascript数列的push和pop方法
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
随机推荐
- tyvj1863 [Poetize I]黑魔法师之门
背景 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源.然而在与Violet星球的战争中,由于Z副官的愚蠢,地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Violet星球.为了 ...
- IntelliJ IDEA 14.x 快捷键/个性化设置
常用快捷键设置(设置成跟Eclipse差不多) 按照路径:File -> Settings -> Appearance & Behavior -> Keymap -> ...
- 第3月第2天 find symbolicatecrash 生产者-消费者 ice 引用计数
1.linux find export find /Applications/Xcode.app/ -name symbolicatecrash -type f export DEVELOPER_DI ...
- java基础 字符串 “==” 和 “equals” 比较
demo: public class TestStringEquals { public static void main(String[] args) { String a = "test ...
- setTimeout和setInterval的注意事项
精准问题 setTimeout的问题在于它并不是精准的,例如使用setTimeout设定一个任务在10ms后执行,但是在9ms后,有一个任务占用了5ms的cpu时间片,再次轮到定时器执行时,时间已经过 ...
- TCP/IP四层模型
转自:http://www.cnblogs.com/BlueTzar/articles/811160.html ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的 ...
- ecshop常用二次开发修改
修改ecshop支付宝的支付按钮 http://www.68ecshop.com/article-1081.html 去掉ecshop收货人信息页面的电子邮件必填和电话.手机选填一个 http:/ ...
- mac下wifi无法连接的问题
今天遇到了一个Wi-Fi打死连不上的问题,关闭重启电脑路由器都试了一下还是不行,最后把资源库/偏好设置/SystemConfiguration下的文件都删除,有一个是删不掉的,留着不影响,然后重启,O ...
- 怎么在myeclipse中导入已经写好的项目
经常我们需要学习别人写好了的源码来提升自己的编码能力,本文将介绍如何从外部导入别人已经写好的项目到我们myeclipse里面.同时也将介绍怎么给导入的工程改名的问题. ...
- Mac常用终端命令
一.基本命令 1.列出文件 ls 参数 目录名 例: 看看驱动目录下有什么:ls /System/Library/Extensions 参数 -w 显示中文,-l 详细信息, -a 包括 ...