Vantage Scratchpad
by Pratik Bhonsle
JavaScript
// Array compare
// http://stackoverflow.com/a/14853974
// http://jsfiddle.net/pratik136/q2j3r/
Array.prototype.equals = function(array, sort) {
// if the other array is a falsy value, return
if (!array) {
return false;
}
// compare lengths - can save a lot of time
if (this.length != array.length) {
return false;
}
if (sort) {
this.sort();
array.sort();
}
for (var i = 0; i < this.length; i++) {
// Check if we have nested arrays
if (this[i] instanceof Array && array[i] instanceof Array) {
// recurse into the nested arrays
if (!this[i].equals(array[i])) {
return false;
}
} else if (this[i] != array[i]) {
// Warning - two different object instances will never be equal:
// {x:20} != {x:20}
return false;
}
}
return true;
};
(function (VantageUtil) {
VantageUtil.populateSimpleObject = function () {
var obj = {};
for (var i = 0; i < arguments.length; i += 2) {
obj[arguments[i]] = arguments[i + 1];
}
return obj;
};
window.test1 = VantageUtil.populateSimpleObject(
"WIN_QUERY", {
isOpen: true,
isVisible: true
}, "WIN_LIST", {
isOpen: false,
isVisible: false
}, "WIN_VIEWER", {
isOpen: false,
isVisible: false
});
window.test2 = VantageUtil.populateSimpleObject(
"WIN_QUERY", {
isOpen: true,
isVisible: true
}, "WIN_LIST", {
isOpen: false,
isVisible: false
}, "WIN_VIEWER", {
isOpen: false,
isVisible: false
});
})(VantageUtil = window.VantageUtil || {});
console.log(test1.equals(test2));