Files
30-seconds-of-code/snippets/sortedIndex.md
2017-12-31 16:53:40 +02:00

448 B

sortedIndex

Returns the lowest index at which value should be inserted into array in order to maintain its sort order.

const sortedIndex = (arr,n) => {
  let [anarray, isReversed] = arr[0] > arr[1] ? [arr.reverse(), true] : [arr, false]; 
  let val = anarray.findIndex(el => n <= el);
  return val === -1 ? arr.length : isReversed ? arr.length - val : val
}
sortedIndex([5,3,2,1], 4); // 1
sortedIndex([30,50],40); // 1