Files
30-seconds-of-code/snippets/indexOfAll.md
Angelos Chalaris f450dbaf80 Update indexOfAll.md
2018-01-06 13:44:51 +02:00

550 B

indexOfAll

Returns all indices of val in an array. If val never occurs, returns [-1].

Use Array.forEach() to loop over elements and Array.push() to store indices for matching elements. Return [-1] if length of the array of indices is 0, otherwise return the array of indices.

const indexOfAll = (arr, val) => {
  const indices = [];
  arr.forEach((el, i) => el === val && indices.push(i))
  return indices.length ? indices : [-1];
};

indexOfAll([1,2,3,1,2,3],1); // [0,3]
indexOfAll([1,2,3],4); // [-1]