import { isNil } from '../../is'
/**
* A specialized version of `forEach` for arrays.
* @since 5.0.0-beta.5
* @memberOf loop
*
* @param [array] The array to iterate over.
* @param iteratee The function invoked per iteration.
* @return Returns `array`.
*/
function arrayEach<Value extends any = any[]>(
array: Value[],
iteratee: (value: Value, index: number, list: Value[]) => false | void
) {
let index = -1
const length = isNil(array) ? 0 : array.length
while (++index < length) {
if (iteratee(array[index], index, array) === false) {
break
}
}
return array
}
export default arrayEach