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