Array.prototype.equals

Equals function for Arrays

JavaScript

(function(Array, definition) {
    if (Array && !Array.prototype.equals) {
        Array.prototype.equals = definition();
    }
}(window.Array, function() {
    return function(arr) {
        var that = this;
        if (!Array.isArray(arr) || that.length != arr.length) {
            return false;
        }

        var isEqual = true;
        arr.forEach(function(x) {
            if (!that.includes(x)) {
                isEqual = false;
            }
        });

        return isEqual;
    };
}));

var x = [{a:'b'}, {a:'c'}];
var y = [{a:'b'}, {a:'c'}];
var z = [12, 3, 4];
var a = 'abcde'.split('');
var b = 'bcdea'.split('');
var c = 'hjghj'.split('');

console.log(x.equals(y));