* Sorts an array in specified order * @param arr * @param ascending * @returns
(arr: Array<number | string>, ascending: boolean = true)
| 637 | * @returns |
| 638 | */ |
| 639 | sort(arr: Array<number | string>, ascending: boolean = true): Array<number | string> { |
| 640 | const sorted = [...arr] |
| 641 | return sorted.sort((a, b) => { |
| 642 | if (ascending) { |
| 643 | if (typeof a === "string" && typeof b === "string") { |
| 644 | return a.charCodeAt(0) - b.charCodeAt(0); |
| 645 | } else { |
| 646 | return (a as unknown as number) - (b as unknown as number) |
| 647 | } |
| 648 | } else { |
| 649 | if (typeof a === "string" && typeof b === "string") { |
| 650 | return b.charCodeAt(0) - a.charCodeAt(0); |
| 651 | } else { |
| 652 | return (b as unknown as number) - (a as unknown as number) |
| 653 | } |
| 654 | } |
| 655 | }); |
| 656 | } |
| 657 | |
| 658 | /** |
| 659 | * Checks if current environment is Browser |
no outgoing calls
no test coverage detected