From ab61bf23cd3ee302a904cea9f49c733beb470f15 Mon Sep 17 00:00:00 2001 From: heheer <71265218+newfish-cmyk@users.noreply.github.com> Date: Fri, 10 Nov 2023 15:57:14 +0800 Subject: [PATCH] fix(web): fix mergeArrays function (#1672) * fix mergeArrays function * lint --- .../SysSetting/AppMonitor/AreaCard/index.tsx | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/web/src/pages/app/setting/SysSetting/AppMonitor/AreaCard/index.tsx b/web/src/pages/app/setting/SysSetting/AppMonitor/AreaCard/index.tsx index 62bd08839e..ba36c0029e 100644 --- a/web/src/pages/app/setting/SysSetting/AppMonitor/AreaCard/index.tsx +++ b/web/src/pages/app/setting/SysSetting/AppMonitor/AreaCard/index.tsx @@ -41,18 +41,24 @@ const strokeColorArray = [ ]; function mergeArrays(arrays: any) { - let mergedArray = []; + let mergedArray: any = []; const maxLength = Math.max(...arrays.map((arr: any) => arr.length)); - for (let i = 0; i < maxLength; i++) { + const newArrays = arrays.map((arr: any) => { + const padding = maxLength - arr.length; + const paddedArray = new Array(padding).fill({ xData: 0 }).concat(arr); + return paddedArray; + }); + + for (let i = maxLength - 1; i >= 0; i--) { let mergedElement = { xData: 0 }; - for (let j = 0; j < arrays.length; j++) { - if (i < arrays[j].length) { - mergedElement.xData = arrays[j][i].xData; + for (let j = 0; j < newArrays.length; j++) { + if (newArrays[j][i].xData > 0) { + mergedElement.xData = newArrays[j][i].xData; // @ts-ignore - mergedElement[`value${j}`] = arrays[j][i][`value${j}`]; + mergedElement[`value${j}`] = newArrays[j][i][`value${j}`]; } } - mergedArray.push(mergedElement); + mergedArray = [mergedElement, ...mergedArray]; } return mergedArray;