`

Js~数组的操作push,pop,shift,unshift

 
阅读更多
JS中的数组提供了四个操作,以便让我们实现队列与堆栈!

小理论:

队列:先进先出

堆栈:后进先出

实现队列的方法:

shift:从集合中把第一个元素删除,并返回这个元素的值。

unshift: 在集合开头添加一个或更多元素,并返回新的长度

push:在集合中添加元素,并返回新的长度

pop:从集合中把最后一个元素删除,并返回这个元素的值。

这是原来老赵写的关于数组队列的代码,觉得有点问题,所以改了一下

 1         // Usage:装载并运行函数
 2         // 队列机制
 3         var Resource = (function () {
 4             var waitingCallbacks = [];
 5             var execute = function (cb) {
 6                 setTimeout(function () {
 7                     cb(function () {
 8                         if (waitingCallbacks.length == 0) return;
 9                         execute(waitingCallbacks.shift());
10                     });
11                 }, 0);
12             };
13             var register = function (cb) {
14                 if (waitingCallbacks.length == 0) {
15                     execute(cb);
16                 } else {
17                     waitingCallbacks.push(cb);
18                 }
19             }
20             return {
21                 register: register,
22                 state: 1
23             }
24         })();

原来代码中是 execute(waitingCallbacks.unshift());现在我改成了 execute(waitingCallbacks.shift());当你从集合中执行了函数后,它应该从集合中删除,而不是再添加,呵呵。

 

分享到:
评论

相关推荐

    JS数组push、unshift、pop、shift方法的实现与使用方法示例

    主要介绍了JS数组push、unshift、pop、shift方法,结合实例形式分析了JS数组push、unshift、pop、shift方法针对数组添加、删除等相关操作技巧,需要的朋友可以参考下

    js 数组操作之pop,push,unshift,splice,shift

    本篇文章主要介绍了js数组操作之pop,push,unshift,splice,shift。需要的朋友可以过来参考下,希望对大家有所帮助

    Js数组的操作push,pop,shift,unshift等方法详细介绍

    js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧。不过不会针对每个方法进行讲解,我只是选择其中的一些来讲。 首先来讲一下push和pop方法,这两个方法只会对数组从尾部进行压入或...

    JavaScript数组函数unshift、shift、pop、push使用实例

    主要介绍了JavaScript数组函数unshift、shift、pop、push使用实例,本文先是讲解了声明数组的方法,然后对4个函数使用给出了一些例子,需要的朋友可以参考下

    Javascript数组及类数组相关原理详解

    数组创建方式有两种 1. var arr = [] 2. var arr = new Array() 如果只有一个参数会指定...改变原数组 push pop shift unshift sort reverse splice 不改变原数组 concat join —> split toString slice 比如 push 函数

    JavaScript数组操作函数汇总

    这里总结到的 js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat (1)push 和 pop 这两个函数都是对数组从尾部进行压入或弹出操作。push(arg1,arg2,…)可以每次压入一个或多个元素,并...

    Array的push与unshift方法性能比较分析

    Array的push与unshift方法都能给当前数组添加元素,不同的是,push是在末尾添加,而unshift则是在开头添加。

    JavaScript面试题

    JavaScript 是全球最流行的编程语言。 本文件整理了前端面试中的面试题。 1.请说一下数组常用的方法有哪些? push():添加到数组的最后 splice():删除指定的元素,并且在删除的位置... unshift():将内容添加到数组的开头

    JavaScript常用数组、字符串、Object方法

    JavaScript中常用的数组方法如下: - push():向数组末尾添加一个或多个元素,并返回新的长度。 - pop():删除并返回数组的最后一个元素。 - unshift():向数组开头添加一个或多个元素,并返回新的长度。 - ...

    浅谈Vue数据响应思路之数组

    js 中数组有很多实例方法,其中有一部分会改变数组本身的值,比如 push pop shift unshift 等,这些方法被称为变异方法,这些变异方法也是 Vue 开发中常用的数组操作方法。那么要实现对数组的观测,首先要考虑的就是...

    vue2.x数组劫持原理的实现

    1 重新定义原生数组方法push unshift shift pop splice sort reverse 因为这些方法可以修改原数组。 2 拿到原生数组方法 Object.create(Array.prototype) 3 AOP拦截,再执行重写数组方法前,先执行原生数组方法 核心...

    es6 filter() 数组过滤方法总结

    push,pop,shift,unshift,sort,reverse,splice 2)不改变原数组concat,join–> split,toStringpush:从数组最后一位开始加数据 pop:把数组最后一位剪切 shift:在数组最前一位剪切 unshift:在数组最前一位加数 ...

    详解VUE 数组更新

    push  pop  unshift  shift  reverse  sort  splice (2)原数组未变,生成新数组 slice  concat  filter 对于使原数组变化的方法,可以直接更新视图。 对于原数组未变的方法,可以使用新数组替换原来的...

    【JavaScript源代码】Vue中v-for更新检测的操作方法.docx

    Vue中v-for更新检测的操作方法  口诀:  数组变更方法,就会导致 v-for 更新,页面更新 数组非变更方法:返回新数组,就不会导致 v-... arr.unshift()从前面添加元素,返回值时添加完后数组长度 arr.unshift(8) 

    Vue数组更新及过滤排序功能

    pop() 从数组末尾移除最后一项,减少数组的length值,然后返回移除的项 shift() 移除数组中的第一个项并返回该项,同时数组的长度减1 unshift() 在数组前端添加任意个项并返回新数组长度 splice() 删除原数组的一...

Global site tag (gtag.js) - Google Analytics