Sha256: a4c669801c4f8d3a9cfea6841eb386329a975eb4c14afb7caa0845b32ab93ca4
Contents?: true
Size: 1.46 KB
Versions: 3
Compression:
Stored size: 1.46 KB
Contents
/* --- script: FastArray.js description: Array with fast lookup (based on object) license: MIT-style license. requires: - Core/Class provides: [FastArray] ... */ window.FastArray = function() { this.push.apply(this, arguments); } FastArray.from = function(ary) { var array = new FastArray; FastArray.prototype.push.apply(array, ary) return array; } Array.fast = function() { var object = {}; for (var i = 0, arg; arg = arguments[i++];) object[arg] = true; return object; }; FastArray.prototype = { push: function() { Array.each(arguments, function(argument) { this[argument] = true; }, this); }, contains: function(argument) { return this[argument]; }, concat: function(array) { if ('length' in array) this.push.apply(this, array); else for (var key in array) if (array.hasOwnProperty(key)) this[key] = true; return this; }, each: function(callback, bound) { for (var key in this) { if (this.hasOwnProperty(key)) callback.call(bound || this, key, this[key]); } }, include: function(value) { this[value] = true; }, erase: function(value) { delete this[value]; }, join: function(delimeter) { var bits = []; for (var key in this) if (this.hasOwnProperty(key)) bits.push(key); return bits.join(delimeter) }, toObject: function() { var object = {}; for (var key in this) if (this.hasOwnProperty(key)) object[key] = this[key]; return object; } };
Version data entries
3 entries across 3 versions & 1 rubygems