/** | |
* 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; |