var Queue = (function() {
var items = [];
var Queue = function() {
return this;
};
var is_array = function (value) {
return value && typeof value === 'object' && typeof value.length === 'number' && typeof value.splice === 'function' && !(value.propertyIsEnumerable('length'));
};
Queue.prototype = {
isEmpty : function () {
return items.length === 0;
},
empty : function() {
items = [];
return this.isEmpty();
},
enqueue : function (data) {
if (is_array(data)) {
if (items.length == 0) {
items = data;
} else {
for(var i in data) {
items.push(data[i]);
}
}
} else {
items.push(data);
}
return this;
},
dequeue : function () {
return items.shift();
}
};
return new Queue();
})();
Usage:
var data = [];
Queue.enqueue(data);
if (Queue.isEmpty() === false) {
// do it
} else {
// Queue is empty !
}
data = {a : 1, b : 2 };
Queue.enqueue(data);
if (Queue.isEmpty() === false) {
// do it
} else {
// Queue is empty !
}
0 comments:
Post a Comment