首页 > 其他分享 >js 队列方法

js 队列方法

时间:2024-01-13 20:31:59浏览次数:23  
标签:count 队列 alert colors let 数组 green js 方法

就像栈是以 LIFO 形式限制访问的数据结构一样,队列以先进先出(FIFO,First-In-First-Out)形式 限制访问。队列在列表末尾添加数据,但从列表开头获取数据。因为有了在数据末尾添加数据的 push() 方法,所以要模拟队列就差一个从数组开头取得数据的方法了。

这个数组方法叫 shift(),它会删除数 组的第一项并返回它,然后数组长度减 1。使用 shift()和 push(),可以把数组当成队列来使用:

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

这个例子创建了一个数组并用push()方法推入三个值。加粗的那行代码使用shift()方法取得了 数组的第一项,即"red"。删除这一项之后,"green"成为第一个元素,"black"成为第二个元素,数 组此时就包含两项。

ECMAScript也为数组提供了unshift()方法。顾名思义,unshift()就是执行跟shift()相反的 操作:在数组开头添加任意多个值,然后返回新的数组长度。通过使用 unshift()和 pop(),可以在 相反方向上模拟队列,即在数组开头添加新数据,在数组末尾取得数据,如下例所示:

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

这里,先创建一个数组,再通过 unshift()填充数组。首先,给数组添加"red"和"green",再添 加"black",得到["black","red","green"]。调用 pop()时,删除最后一项"green"并返回它。

let person1 = {
      toLocaleString() {
        return "Nikolaos";
      },
      toString() {
        return "Nicholas";
} };
    let person2 = {
      toLocaleString() {
        return "Grigorios";
      },
      toString() {
        return "Greg";
} };
    let people = [person1, person2];
    alert(people);
    alert(people.toString());
    alert(people.toLocaleString());  // Nikolaos,Grigorios
    ```

标签:count,队列,alert,colors,let,数组,green,js,方法
From: https://blog.51cto.com/u_16298168/9233144

相关文章

  • js 栈方法
    ECMAScript给数组提供几个方法,让它看起来像是另外一种数据结构。数组对象可以像栈一样,也就是一种限制插入和删除项的数据结构。栈是一种后进先出(LIFO,Last-In-First-Out)的结构,也就是最近添加的项先被删除。数据项的插入(称为推入,push)和删除(称为弹出,pop)只在栈的一个地方发生......
  • 引用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......