mout
Version:
Modular Utilities
27 lines (22 loc) • 495 B
text/typescript
import makeIterator from '../function/makeIterator_';
/**
* Array filter
*/
function filter(arr, callback, thisObj?: any) {
callback = makeIterator(callback, thisObj);
const results = [];
if (arr == null) {
return results;
}
let i = -1;
const len = arr.length;
let value;
while (++i < len) {
value = arr[i];
if (callback(value, i, arr)) {
results.push(value);
}
}
return results;
}
export default filter;