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));