JS里的居民们5-数组(栈)
编码1(栈顶在最右)
练习如何使用数组来实现栈,综合考虑使用数组的 push,pop,shift,unshift操作
基于代码,实现如按钮中描述的功能:
- 实现如阅读材料中,队列的相关进栈、退栈、获取栈顶、判空的操作
- 栈顶对应数组中最后一个元素
- 进栈和退栈操作后,需要在 id 为 stack-cont 的 p 标签中更新显示栈中的内容,栈顶在最右侧,中间用 -> 连接(练习使用数组的join方法)
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8" /> 6 <title>JS里的居民们6-数组(栈-栈顶在右)</title> 7 </head> 8 9 <body> 10 <input id="stack-input" type="text"> 11 <p id="stack-cont">栈内容:apple->pear</p> 12 <button id="push-btn">进栈</button> 13 <button id="pop-btn">退栈</button> 14 <button id="font-btn">打印栈顶元素内容</button> 15 <button id="empty-btn">判断栈是否为空</button> 16 17 <script> 18 var stack = ["apple", "pear"]; 19 var txt = document.getElementById("stack-input"); 20 var stackcont = document.getElementById("stack-cont"); 21 var pushbtn = document.getElementById("push-btn"); 22 var popbtn = document.getElementById("pop-btn"); 23 var fontbtn = document.getElementById("font-btn"); 24 var emptybtn = document.getElementById("empty-btn"); 25 26 pushbtn.onclick = function () { 27 stack.unshift(txt.value); 28 stackcont.innerHTML = "栈内容:" + stack.join("->"); 29 } 30 popbtn.onclick = function () { 31 stack.shift(); 32 stackcont.innerHTML = "栈内容:" + stack.join("->"); 33 } 34 fontbtn.onclick = function () { 35 stackcont.innerHTML = "栈内容:" + stack[stack.length - 1]; 36 } 37 emptybtn.onclick = function () { 38 if (stack.length == 0) { 39 stackcont.innerHTML = "栈内容:空"; 40 } else { 41 stackcont.innerHTML = "栈内容:不为空"; 42 } 43 } 44 </script> 45 </body> 46 47 </html>
编码2(栈顶在最左)
对上面练习进行小调整
基于代码,实现如按钮中描述的功能:
- 实现如阅读材料中,队列的相关进栈、退栈、获取栈顶、判空的操作
- 栈顶对应数组中第一个元素
- 进栈和退栈操作后,需要在 id 为 stack-cont 的 p 标签中更新显示栈中的内容,栈顶在最左侧,中间用 -< 连接(练习使用数组的join方法)
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8" /> 6 <title>JS里的居民们7-数组(栈-栈顶在左)</title> 7 </head> 8 9 <body> 10 <input id="stack-input" type="text"> 11 <p id="stack-cont">栈内容:apple->pear</p> 12 <button id="push-btn">进栈</button> 13 <button id="pop-btn">退栈</button> 14 <button id="font-btn">打印栈顶元素内容</button> 15 <button id="empty-btn">判断栈是否为空</button> 16 17 <script> 18 var stack = ["apple", "pear"]; 19 var txt = document.getElementById("stack-input"); 20 var stackcont = document.getElementById("stack-cont"); 21 var pushbtn = document.getElementById("push-btn"); 22 var popbtn = document.getElementById("pop-btn"); 23 var fontbtn = document.getElementById("font-btn"); 24 var emptybtn = document.getElementById("empty-btn"); 25 26 pushbtn.onclick = function () { 27 stack.push(txt.value); 28 stackcont.innerHTML = "栈内容:" + stack.join("<-"); 29 } 30 popbtn.onclick = function () { 31 stack.pop(); 32 stackcont.innerHTML = "栈内容:" + stack.join("<-"); 33 } 34 fontbtn.onclick = function () { 35 stackcont.innerHTML = "栈内容:" + stack[0]; 36 } 37 emptybtn.onclick = function () { 38 if (stack.length == 0) { 39 stackcont.innerHTML = "栈内容:空"; 40 } else { 41 stackcont.innerHTML = "栈内容:不为空"; 42 } 43 } 44 </script> 45 </body> 46 47 </html>
转载于:https://www.cnblogs.com/Joe-and-Joan/p/10079638.html
JS里的居民们5-数组(栈)相关推荐
- JS里的居民们7-对象和数组转换
编码 学习通用的数据用不同的数据结构进行存储,以及相互的转换 对象转为数组: var scoreObject = {"Tony": {"Math": 95,&q ...
- 前端利用js里数组的filter方法进行多条件过滤查询
需求:用户在输入框输入多个条件时,可以对表格数据进行过滤查询,无需后端接口处理,利用了前端js里数组的filter方法进行过滤. 如下是效果图: 当用户在姓名的输入框里输入"张"后 ...
- freemarker 数组转字符串_TypeScript 实战算法系列(一):实现数组栈与对象栈
本文由图雀社区认证作者 神奇的程序员 写作而成,图雀社区将连载其TypeScript 实战算法系列,点击阅读原文查看作者的掘金链接,感谢作者的优质输出,让我们的技术世界变得更加美好? 前言 栈作为一种 ...
- 用JS描述的数据结构及算法表示——栈和队列(基础版)
前言:找了上课时数据结构的教程来看,但是用的语言是c++,所以具体实现在网上搜大神的博客来看,我看到的大神们的博客都写得特别好,不止讲了最基本的思想和算法实现,更多的是侧重于实例运用,一边看一边在心里 ...
- 关于JS里面的Call Stack and Heap
关于JS里面的Call Stack and Heap Abstract What is the Call Stack and Heap in JS What is the difference bet ...
- 如何从ngrx-store-devtools.js里找到actions的触发源头
找到ngrx-store-devtools.js: Action输入参数表明,这是一个LoadCmsPageData的Action: LoadCmsPageData定义在core/src/cms/st ...
- 【JS 逆向百例】如何跟栈调试?某 e 网通 AES 加密分析
关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途 ...
- 谈谈JS里的{ }大括号和[ ]中括号的用法
为什么80%的码农都做不了架构师?>>> 谈谈JS里的{ }大括号和[ ]中括号的用法,理解后就可以看懂JSON结构了. 一.{ } 大括号,表示定义一个对象,大部分情况下要有 ...
- JS案例:使用对象、对象数组、正则表达式
JS案例:使用对象.对象数组.正则表达式 1.使用对象 声明对象变量,其实就是将一个json对象赋给一个变量,可以看到json对象就由一些键值对构成. 运行效果: 如果将{id: 3, name: & ...
最新文章
- 第十三届光华工程科技奖公布,彭士禄、张伯礼、王海峰等40人及1个团体获奖
- 【跟着我们学Golang】Go语言全平台安装
- (转)学习directx遇到的问题
- Pandas一些小技巧
- 面向接口的开发到面向对象的编程
- ubuntu11.04下安装TCL及TK
- WebM视频格式怎么转换成MP4
- 国际信息安全管理标准体系--BS7799
- KDD 2022 | 美团技术团队精选论文解读
- 【语音识别】基于keras的简易语音识别
- 路易斯安那州立大学计算机科学,路易斯安那州立大学
- php notice undefined variable,解决PHP提示Notice: Undefined variable的办法
- [附源码]java毕业设计海雨市高校实验设备报修系统
- MATLAB多方法车牌识别系统(bp+模板+GUI)
- org.springframework.data.mongodb.UncategorizedMongoDbException
- 贸易动力带您使用海关数据开发客户
- SwiftUI是什么,听听大牛们如何说
- EJB框架 详细介绍和注解的使用
- 【什么是哈希, 什么是哈希冲突,怎么解决哈希冲突? 】
- Python 自动贩卖机系统
热门文章
- 韩国巨型机器人曝光,走一步地动山摇
- ubuntu 绑定网卡
- Oracle 12c与GoldenGate 12c的一些问答
- [leetcode] Merge k Sorted Lists
- iptables高级应用实例
- Netty核心组件 ChannelPipeline和ChannelHandler与ChannelHandler的入站出站规则
- 分层架构、六边形架构、CQRS架构模式解读
- gabor 幅值域 matlab,组合局部多通道Gabor滤波器和ICA的人脸描述与识别
- 根据ip获取所在城市 php,PHP:根据IP地址获取所在城市
- python中如何统计元组中元素的个数_Python:count直到列表中的元素是一个元组