JavaScript
const indices = (arr, value) => arr.reduce((acc, v, i) => (v === value ? [...acc, i] : acc), [])
const indices = (arr, value) => arr.map((v, i) => (v === value ? i : false)).filter(Boolean)
TypeScript
const indices = <T,>(arr: T[], value: T): number[] =>
arr.reduce((acc, v, i) => (v === value ? [...acc, i] : acc), [] as number[])
const indices = <T,>(arr: T[], value: T): number[] =>
arr.map((v, i) => (v === value ? i : false)).filter(Boolean) as number[]
Examples
indices(['h', 'e', 'l', 'l', 'o'], 'l')
indices(['h', 'e', 'l', 'l', 'o'], 'w')