diff --git a/src/utils/StringHelperFunctions.ts b/src/utils/StringHelperFunctions.ts index ecfe2f634..004f8d80c 100644 --- a/src/utils/StringHelperFunctions.ts +++ b/src/utils/StringHelperFunctions.ts @@ -59,17 +59,16 @@ function longestCommonStart(strings: string[]): string { return ""; } - const A: string[] = strings.concat().sort(); - const a1: string = A[0]; - const a2: string = A[A.length - 1]; - const L: number = a1.length; - let i = 0; - const areEqualCaseInsensitive = (a: string, b: string) => a.toUpperCase() === b.toUpperCase(); - while (i < L && areEqualCaseInsensitive(a1.charAt(i), a2.charAt(i))) { - i++; + const a1: string = strings[0]; + for (let i = 0; i < a1.length; ++i) { + const chr = a1.charAt(i).toUpperCase(); + for (let s = 1; s < strings.length; ++s) { + if (chr !== strings[s].charAt(i).toUpperCase()) { + return a1.substring(0, i); + } + } } - - return a1.substring(0, i); + return a1; } // Returns whether an array contains entirely of string objects