You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
export default function filterInPlace<T>(a: T[], condition: (value: T, index: number, array: T[]) => boolean): T[] { |
|
let i = 0, j = 0; |
|
|
|
while (i < a.length) { |
|
const val = a[i]; |
|
if (condition(val, i, a)) a[j++] = val; |
|
i++; |
|
} |
|
|
|
a.length = j; |
|
return a; |
|
} |