Williammer
6/4/2014 - 10:34 AM

jsPatterns.revelation.js

jsPatterns.revelation.js

(function () {
    var astr = "[object Array]",
        toString = Object.prototype.toString;

    function isArray(a) {
        return toString.call(a) === astr;
    }

    function indexOf(haystack, needle) {
        var i = 0,
            max = haystack.length;
        for (; i < max; i += 1) {
            if (haystack[i] === needle) {
                return i;
            }
        }
        return -1;
    }

    myarray = {
        isArray: isArray,
        indexOf: indexOf,
        inArray: indexOf
    };
}());

myarray.indexOf = null; 
alert(myarray.inArray(["a", "b", "z"], "z")); // 2