Insertion index in sorted array

OSCC · JavaScript, Array, Math · Oct 22, 2020

Finds the lowest index at which a value should be inserted into an array in order to maintain its sorting order.

  • Loosely check if the array is sorted in descending order.
  • Use Array.prototype.findIndex() to find the appropriate index where the element should be inserted.
const sortedIndex = (arr, n) => {
  const isDescending = arr[0] > arr[arr.length - 1];
  const index = arr.findIndex(el => (isDescending ? n >= el : n <= el));
  return index === -1 ? arr.length : index;
};
sortedIndex([5, 3, 2, 1], 4); // 1
sortedIndex([30, 50], 40); // 1

Recommended snippets