Intento hacer una ordenación de combinación simple con JavaScript en Vue.Js. Estas son las funciones que creé. Pero la salida no puede ordenar la matriz de forma ascendente.
mergeSort(arr) { if (arr.length <= 1) { this.data.arrNum = arr; } console.log("arr", arr); let mid = Math.floor(arr.length / 2); let left = arr.slice(0, mid); console.log("left", left); let right = arr.slice(mid); console.log("right", right); this.merge(left, right); }, merge: function (left, right) { var leftIndex = 0; var rightIndex = 0; var results = []; while (leftIndex < left.length && rightIndex < right.length) { if (left[leftIndex] < right[rightIndex]) { results.push(left[leftIndex]); leftIndex++ } else { results.push(right[rightIndex]); rightIndex++; } } results = results .concat(left.slice(leftIndex)) .concat(right.slice(rightIndex)); this.data.arrNum = results; }, } };Muestra Matriz original Antes de ordenar Salida Después de ordenar