diff --git a/src/vs/base/common/arrays.ts b/src/vs/base/common/arrays.ts index 26ab086e6c9..7cb942a84f8 100644 --- a/src/vs/base/common/arrays.ts +++ b/src/vs/base/common/arrays.ts @@ -113,7 +113,7 @@ function _divideAndMerge(data: T[], compare: (a: T, b: T) => number): void { export function groupBy(data: T[], compare: (a: T, b: T) => number): T[][] { const result: T[][] = []; let currentGroup: T[]; - for (const element of data.slice(0).sort(compare)) { + for (const element of mergeSort(data.slice(0), compare)) { if (!currentGroup || compare(currentGroup[0], element) !== 0) { currentGroup = [element]; result.push(currentGroup);