diff --git a/src/sort-numbers/example-built-in-sort/sort-numbers.js b/src/sort-numbers/example-built-in-sort/sort-numbers.js index c5b7571..bfda4c1 100644 --- a/src/sort-numbers/example-built-in-sort/sort-numbers.js +++ b/src/sort-numbers/example-built-in-sort/sort-numbers.js @@ -16,15 +16,6 @@ * sortNumbers([-1, 0, 1]); * // -> [-1, 0, 1] */ -export const sortNumbers = (arrOfNumbers = []) => { - // create a copy of the argument to avoid side-effects - const copiedAndSorted = [...arrOfNumbers]; +export const sortNumbers = (arrOfNumbers = []) => + [...arrOfNumbers].sort((a, b) => a - b); - // sort the copy according to - copiedAndSorted.sort((a, b) => { - return a - b; - }); - - // return the copied & sorted array of numbers - return copiedAndSorted; -}; diff --git a/src/sort-numbers/example-built-in-sort/sort-numbers.spec.js b/src/sort-numbers/example-built-in-sort/sort-numbers.spec.js index 1ee26a5..18ec90f 100644 --- a/src/sort-numbers/example-built-in-sort/sort-numbers.spec.js +++ b/src/sort-numbers/example-built-in-sort/sort-numbers.spec.js @@ -65,4 +65,15 @@ describe('sortNumbers sorts an array of numbers', () => { expect(arg).toEqual([3, 2, 1]); }); }); + describe('edge cases', () => { + it('returns empty array when input is empty', () => { + const received = sortNumbers([]); + expect(received).toEqual([]); + }); + + it('returns same array when it has one number', () => { + const received = sortNumbers([42]); + expect(received).toEqual([42]); + }); + }); });