23 lines
532 B
Markdown
23 lines
532 B
Markdown
---
|
|
title: Index of all matches
|
|
tags: array
|
|
cover: jars-on-shelf-2
|
|
firstSeen: 2018-01-06T12:07:56+02:00
|
|
lastUpdated: 2020-10-22T20:23:47+03:00
|
|
---
|
|
|
|
Finds all indexes of `val` in an array.
|
|
If `val` never occurs, returns an empty array.
|
|
|
|
- Use `Array.prototype.reduce()` to loop over elements and store indexes for matching elements.
|
|
|
|
```js
|
|
const indexOfAll = (arr, val) =>
|
|
arr.reduce((acc, el, i) => (el === val ? [...acc, i] : acc), []);
|
|
```
|
|
|
|
```js
|
|
indexOfAll([1, 2, 3, 1, 2, 3], 1); // [0, 3]
|
|
indexOfAll([1, 2, 3], 4); // []
|
|
```
|