UNPKG

@wasmuth/find

Version:

Practical, functional utilities that fallback on native implementations as much as possible

21 lines (15 loc) 447 B
import check from 'check-arg-types' import partial from '@wasmuth/partial' export default function find (predicate, ls, returnIndex) { if (arguments.length < 2) return partial(find, arguments) check(arguments, ['function', 'array', '-any']) const length = ls.length let value for (let x = 0; x < length; x++) { value = ls[x] if (predicate(value, x, ls)) { return returnIndex ? x : value } } return undefined }