From b554c2130a51bbef60b903791bbee28c2c62cc62 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Sun, 31 Dec 2017 16:53:40 +0200 Subject: [PATCH 1/4] Minor formatting changes --- snippets/sortedIndex.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/snippets/sortedIndex.md b/snippets/sortedIndex.md index ba9a7599c..d2181d64f 100644 --- a/snippets/sortedIndex.md +++ b/snippets/sortedIndex.md @@ -1,14 +1,12 @@ ### sortedIndex -Returns the lowest index at which value should be inserted into array in order to maintain its sort order +Returns the lowest index at which value should be inserted into array in order to maintain its sort order. ```js const sortedIndex = (arr,n) => { - arr[0] > arr[1] ? (anarray = arr.reverse(),isReversed = true) : (anarray = arr,isReversed = false); - val = anarray.findIndex( el => { - return n <= el - }) - return val === -1 ? arr.length : isReversed ? arr.length - val : val + 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 } ``` From f52d7b9e4692a0d5a12d4a073b7b25e72a939a2d Mon Sep 17 00:00:00 2001 From: Rohit Tanwar <31792358+kriadmin@users.noreply.github.com> Date: Sun, 31 Dec 2017 20:24:05 +0530 Subject: [PATCH 2/4] Update sortedIndex.md --- snippets/sortedIndex.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/snippets/sortedIndex.md b/snippets/sortedIndex.md index d2181d64f..9b66af48c 100644 --- a/snippets/sortedIndex.md +++ b/snippets/sortedIndex.md @@ -1,12 +1,14 @@ ### sortedIndex -Returns the lowest index at which value should be inserted into array in order to maintain its sort order. +Returns the lowest index at which value should be inserted into array in order to maintain its sort order ```js 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 + arr[0] > arr[1] ? (let anarray = arr.reverse(),let isReversed = true) : (let anarray = arr, let isReversed = false); + val = anarray.findIndex( el => { + return n <= el + }) + return val === -1 ? arr.length : isReversed ? arr.length - val : val } ``` From af1c42b77ed49c72ccfeaa0a1510e386867988ea Mon Sep 17 00:00:00 2001 From: Rohit Tanwar <31792358+kriadmin@users.noreply.github.com> Date: Sun, 31 Dec 2017 20:32:51 +0530 Subject: [PATCH 3/4] Update sortedIndex.md as suggested by @atomiks --- snippets/sortedIndex.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/snippets/sortedIndex.md b/snippets/sortedIndex.md index 9b66af48c..d8c4946a6 100644 --- a/snippets/sortedIndex.md +++ b/snippets/sortedIndex.md @@ -3,13 +3,11 @@ Returns the lowest index at which value should be inserted into array in order to maintain its sort order ```js -const sortedIndex = (arr,n) => { - arr[0] > arr[1] ? (let anarray = arr.reverse(),let isReversed = true) : (let anarray = arr, let isReversed = false); - val = anarray.findIndex( el => { - return n <= el - }) - return val === -1 ? arr.length : isReversed ? arr.length - val : val -} +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; +}; ``` ```js From 2684f7aede037539fb9409aff2668a4fbeb8cfd6 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Sun, 31 Dec 2017 17:05:50 +0200 Subject: [PATCH 4/4] Update sortedIndex.md --- snippets/sortedIndex.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/snippets/sortedIndex.md b/snippets/sortedIndex.md index d8c4946a6..f83da6ec0 100644 --- a/snippets/sortedIndex.md +++ b/snippets/sortedIndex.md @@ -1,6 +1,9 @@ ### sortedIndex -Returns the lowest index at which value should be inserted into array in order to maintain its sort order +Returns the lowest index at which value should be inserted into array in order to maintain its sort order. + +Check if the array is sorted in descending order (loosely). +Use `Array.findIndex()` to find the appropriate index where the element should be inserted. ```js const sortedIndex = (arr, n) => {