Js~数组的操作push,pop,shift,unshift
2012-12-28 16:58
405 查看
JS中的数组提供了四个操作,以便让我们实现队列与堆栈!
小理论:
队列:先进先出
堆栈:后进先出
实现队列的方法:
shift:从集合中把第一个元素删除,并返回这个元素的值。
unshift: 在集合开头添加一个或更多元素,并返回新的长度
push:在集合中添加元素,并返回新的长度
pop:从集合中把最后一个元素删除,并返回这个元素的值。
这是原来老赵写的关于数组队列的代码,觉得有点问题,所以改了一下
原来代码中是 execute(waitingCallbacks.unshift());现在我改成了 execute(waitingCallbacks.shift());当你从集合中执行了函数后,它应该从集合中删除,而不是再添加,呵呵。
小理论:
队列:先进先出
堆栈:后进先出
实现队列的方法:
shift:从集合中把第一个元素删除,并返回这个元素的值。
unshift: 在集合开头添加一个或更多元素,并返回新的长度
push:在集合中添加元素,并返回新的长度
pop:从集合中把最后一个元素删除,并返回这个元素的值。
这是原来老赵写的关于数组队列的代码,觉得有点问题,所以改了一下
// Usage:装载并运行函数 // 队列机制 var Resource = (function () { var waitingCallbacks = []; var execute = function (cb) { setTimeout(function () { cb(function () { if (waitingCallbacks.length == 0) return; execute(waitingCallbacks.shift()); }); }, 0); }; var register = function (cb) { if (waitingCallbacks.length == 0) { execute(cb); } else { waitingCallbacks.push(cb); } } return { register: register, state: 1 } })();
原来代码中是 execute(waitingCallbacks.unshift());现在我改成了 execute(waitingCallbacks.shift());当你从集合中执行了函数后,它应该从集合中删除,而不是再添加,呵呵。
相关文章推荐
- JS数组操作示意图(shift,unshift,pop,push)
- Js数组的操作push,pop,shift,unshift等方法
- js数组的常见操作( push、pop、unshift、shift、splice、concat、 join)的用法
- js数组操作大全(pop,push,unshift,splice,shift方法)
- js 数组操作之pop,push,unshift,splice,shift
- js数组操作大全(pop,push,unshift,splice,shift方法)
- js中 数组的操作 push(),pop(),shift(),unshift() 简介
- Js数组的操作push,pop,shift,unshift等方法详细介绍
- Js数组的操作push,pop,shift,unshift等方法详细介绍
- js数组操作大全(pop,push,unshift,splice,shift方法)
- js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat
- js 数组操作之pop,push,unshift,splice,shift
- 转:js数组操作大全(pop,push,unshift,splice,shift方法)
- js数组操作(push,pop,shift,unshift,slice,splice,concat,sort)
- Js数组的操作push,pop,shift,unshift等方法详细介绍
- js数组操作大全(pop,push,unshift,splice,shift方法)
- Js数组的操作push,pop,shift,unshift等方法详细介绍
- 数组的操作push,pop,shift,unshift
- js 数组 pop,push,unshift,splice,shift
- JS数组方法总结shift()、unshift()、pop()、push()、concat()、splice()、filter()、map()、some()、every()、forEach()等方法