*/
Roo.applyIf(Array.prototype, {
/**
+ *
* Checks whether or not the specified object exists in the array.
* @param {Object} o The object to check for
* @return {Number} The index of o in the array (or -1 if it is not found)
*/
indexOf : function(o){
for (var i = 0, len = this.length; i < len; i++){
- if(this[i] == o) return i;
+ if(this[i] == o) { return i; }
}
return -1;
},
* Map (JS 1.6 compatibility)
* @param {Function} function to call
*/
- map : function(fun /*, thisp*/)
+ map : function(fun )
{
var len = this.length >>> 0;
- if (typeof fun != "function")
+ if (typeof fun != "function") {
throw new TypeError();
-
+ }
var res = new Array(len);
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
- if (i in this)
+ if (i in this) {
res[i] = fun.call(thisp, this[i], i, this);
+ }
}
return res;
+ },
+ /**
+ * equals
+ * @param {Array} o The array to compare to
+ * @returns {Boolean} true if the same
+ */
+ equals : function(b)
+ {
+ // https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript
+ if (this === b) {
+ return true;
+ }
+ if (b == null) {
+ return false;
+ }
+ if (this.length !== b.length) {
+ return false;
+ }
+
+ // sort?? a.sort().equals(b.sort());
+
+ for (var i = 0; i < this.length; ++i) {
+ if (this[i] !== b[i]) {
+ return false;
+ }
+ }
+ return true;
}
-
});
-
-if (!Array.prototype.map)
-{
- Array.prototype.
-}
\ No newline at end of file
+