blob: 3db04221d16f8eef60b02187e2467fdb63edc29a [file] [log] [blame]
/**
* Array#filter.
*
* @param {Array} arr
* @param {Function} fn
* @return {Array}
*/
module.exports = function (arr, fn) {
if (arr.filter) return arr.filter(fn);
var ret = [];
for (var i = 0; i < arr.length; i++) {
if (!hasOwn.call(arr, i)) continue;
if (fn(arr[i], i, arr)) ret.push(arr[i]);
}
return ret;
};
var hasOwn = Object.prototype.hasOwnProperty;