From 26a09f08cf1ed43c640879f23fdad56c5c9282f7 Mon Sep 17 00:00:00 2001 From: HelenHuang <LinHuang@pollex.com.tw> Date: 星期四, 09 六月 2022 15:02:38 +0800 Subject: [PATCH] TODO#139884 Banner 1 文案調整 --- PAMapp/node_modules/core-js/internals/array-sort.js | 21 ++++++++++----------- 1 files changed, 10 insertions(+), 11 deletions(-) diff --git a/PAMapp/node_modules/core-js/internals/array-sort.js b/PAMapp/node_modules/core-js/internals/array-sort.js index 876c932..dc6db4d 100644 --- a/PAMapp/node_modules/core-js/internals/array-sort.js +++ b/PAMapp/node_modules/core-js/internals/array-sort.js @@ -1,12 +1,14 @@ -// TODO: use something more complex like timsort? +var arraySlice = require('../internals/array-slice-simple'); + var floor = Math.floor; var mergeSort = function (array, comparefn) { var length = array.length; var middle = floor(length / 2); return length < 8 ? insertionSort(array, comparefn) : merge( - mergeSort(array.slice(0, middle), comparefn), - mergeSort(array.slice(middle), comparefn), + array, + mergeSort(arraySlice(array, 0, middle), comparefn), + mergeSort(arraySlice(array, middle), comparefn), comparefn ); }; @@ -26,20 +28,17 @@ } return array; }; -var merge = function (left, right, comparefn) { +var merge = function (array, left, right, comparefn) { var llength = left.length; var rlength = right.length; var lindex = 0; var rindex = 0; - var result = []; while (lindex < llength || rindex < rlength) { - if (lindex < llength && rindex < rlength) { - result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]); - } else { - result.push(lindex < llength ? left[lindex++] : right[rindex++]); - } - } return result; + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } return array; }; module.exports = mergeSort; -- Gitblit v1.8.0