首页 > 其他分享 >js 栈方法

js 栈方法

时间:2024-01-13 20:31:45浏览次数:24  
标签:pop js colors black 数组 push alert 方法

ECMAScript 给数组提供几个方法,让它看起来像是另外一种数据结构。数组对象可以像栈一样, 也就是一种限制插入和删除项的数据结构。栈是一种后进先出(LIFO,Last-In-First-Out)的结构,也就 是最近添加的项先被删除。数据项的插入(称为推入,push)和删除(称为弹出,pop)只在栈的一个 地方发生,即栈顶。ECMAScript 数组提供了 push()和 pop()方法,以实现类似栈的行为。 push()方法接收任意数量的参数,并将它们添加到数组末尾,返回数组的最新长度。pop()方法则 用于删除数组的最后一项,同时减少数组的 length 值,返回被删除的项。来看下面的例子:

let colors = new Array();
let count = colors.push("red",
alert(count);
count = colors.push("black");
alert(count);
let item = colors.pop();
alert(item);
alert(colors.length);
// 创建一个数组 "green"); // 推入两项
// 2
// 再推入一项 // 3
 // 取得最后一项
// black

这里创建了一个当作栈来使用的数组(注意不需要任何额外的代码,push()和 pop()都是数组的 默认方法)。首先,使用 push()方法把两个字符串推入数组末尾,将结果保存在变量 count 中(结果 为 2 )。

然后,再推入另一个值,再把结果保存在 count 中。因为现在数组中有 3 个元素,所以 push()返 回 3。在调用 pop()时,会返回数组的最后一项,即字符串"black"。此时数组还有两个元素。

栈方法可以与数组的其他任何方法一起使用,如下例所示:

let colors = ["red", "blue"];
colors.push("brown");
colors[3] = "black";
alert(colors.length);
let item = colors.pop();
alert(item);
// 再添加一项 // 添加一项 // 4
// 取得最后一项 // black

这里先初始化了包含两个字符串的数组,然后通过 push()添加了第三个值,第四个值是通过直接 在位置 3 上赋值添加的。调用 pop()时,返回了字符串"black",也就是最后添加到数组的字符串。

标签:pop,js,colors,black,数组,push,alert,方法
From: https://blog.51cto.com/u_16298172/9233152

相关文章

  • 引用CDN内容的方法总结
    引用CDN内容的方法总结 1.1.1摘要CDN相信大家都听说过,甚至使用过相关的技术,也许有些人会回答“没有听说过和使用过该技术”,真的是这样吗?CDN的全称是ContentDeliveryNetwork,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近......
  • js 搜索和位置方法
    ECMAScript提供两类搜索数组的方法:按严格相等搜索和按断言函数搜索。1.严格相等:ECMAScript提供了3个严格相等的搜索方法:indexOf()、lastIndexOf()和includes()。其中,前两个方法在所有版本中都可用,而第三个方法是ECMAScript7新增的。这些方法都接收两个参数:要查找的元......
  • js slice()函数
    不包括"red",这是因为拆分操作要从位置1开始,即从"green"开始。得到的colors2数组包含1"green"、"blue"、"yellow"和"purple"。colors3数组是通过调用slice()并传入1和4得到的,即从位置1开始复制到位置3。因此colors3包含"green"、"blue"和&......
  • js 操作方法
    如果数组的元素是数值,或者是其valueOf()方法返回数值的对象(如Date对象),这个比较函数还可以写得更简单,因为这时可以直接用第二个值减去第一个值:functioncompare(value1,value2){returnvalue2-value1;}比较函数就是要返回小于0、0和大于0的数值,因此减法操作完......
  • 方法练习
    ......
  • JS常用工具:Webpack 和 JShaman分别有什么用?
    Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括:1.模块化:Webpack将各种资源视为模块,使开发者能够更好地组织和管理项......
  • JS常用工具:Webpack 和 JShaman分别有什么用?
    Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括:1.模块化:Webpack将各种资源视为模块,使开发者能够更好地组织和管理......
  • 方法
    ......
  • springboot mybatis postgres 对于json类型的字段转换
    在SpringBoot与MyBatis结合使用时,处理PostgreSQL中的JSON类型字段的转换可以分为以下步骤:自定义TypeHandler:为了在Java实体类与数据库的JSON类型字段之间进行转换,需要创建一个自定义的 TypeHandler。例如,针对JSONObject类型的转换器可以这样实现:importorg.apache.ibatis.type.B......
  • 这一次,弄明白JS中的文件相关(一):概念篇
    概念是学习的基础。在学习JS中的文件操作之前,先把文件相关的各种概念搞清楚,很有好处。 1.二进制:计算机硬件仅能处理和存储二进制数据,所以不管是你正在写的代码,还是你硬盘里的小姐姐,都是以二进制的形式存储于电脑的内存和硬盘里的。2.编码规则:二进制计算机看得懂,我们看......