From 86a8e8bc7aa27f2935cad6131dd115261fd16924 Mon Sep 17 00:00:00 2001 From: hhjk00 Date: Fri, 17 Nov 2023 17:55:59 +0900 Subject: [PATCH] =?UTF-8?q?value=20=EC=97=86=EB=8A=94=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=ED=95=84=ED=84=B0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/statistics/StatisticsSearch.js | 35 +++++++++---------- src/containers/statistics/FlightContainer.js | 4 +-- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/components/statistics/StatisticsSearch.js b/src/components/statistics/StatisticsSearch.js index 32bbe6a7..4cd288fe 100644 --- a/src/components/statistics/StatisticsSearch.js +++ b/src/components/statistics/StatisticsSearch.js @@ -32,7 +32,7 @@ export default function StatisticsSearch({ chartInit(); }, [searchData]); - const convertToSeconds = timeArr => { + const parseTimeToSeconds = timeArr => { return timeArr.map(time => { const [hours, minutes, seconds] = String(time).split(':').map(Number); return hours * 3600 + minutes * 60 + seconds; @@ -40,35 +40,34 @@ export default function StatisticsSearch({ }; const chartInit = () => { + const { topData, graphData } = searchData; + + const filteredData = data => + data.filter(i => i && !['nodata', 'NoData'].includes(i)); + if (searchType.category === 'TIME') { // ['00:00:00', '12:34:56'] -> [0,45296] 초 단위로 변경 - const timeGraph = searchData.graphData.map(i => i.value).filter(i => i); - const timeTop = searchData.topData.map(i => i.value).filter(i => i); + const timeGraph = filteredData(graphData.map(i => i.value)); + const timeTop = filteredData(topData.map(i => i.value)); - const totalValue = convertToSeconds(timeGraph); - const topValue = convertToSeconds(timeTop); + const totalValue = parseTimeToSeconds(timeGraph); + const topValue = parseTimeToSeconds(timeTop); setTotal(totalValue); setTop(topValue); } else if (searchType.category === 'DISTANCE') { - // [0.0, 0.1] -> [0, 0] - const distanceTotal = searchData.graphData - .map(i => i.value) - .filter(i => i); - const distanceTop = searchData.topData.map(i => i.value).filter(i => i); + // [0.1234, 0.5678] -> [0.1, 0.5] + const distanceTotal = filteredData(graphData.map(i => i.value)); + const distanceTop = filteredData(topData.map(i => i.value)); - const totalValue = distanceTotal.map(distance => { - return distance.toFixed(1); - }); - const topValue = distanceTop.map(distance => { - return distance.toFixed(1); - }); + const totalValue = distanceTotal.map(i => i.toFixed(1)); + const topValue = distanceTop.map(i => i.toFixed(1)); setTotal(totalValue); setTop(topValue); } else { - setTotal(searchData.graphData.map(i => i.value)); - setTop(searchData.topData.map(i => i.value)); + setTotal(filteredData(graphData.map(i => i.value))); + setTop(filteredData(topData.map(i => i.value))); } }; diff --git a/src/containers/statistics/FlightContainer.js b/src/containers/statistics/FlightContainer.js index 3b0e8fbb..a176b135 100644 --- a/src/containers/statistics/FlightContainer.js +++ b/src/containers/statistics/FlightContainer.js @@ -141,8 +141,8 @@ export default function FlightContainer() { }; const secondsToDHMS = time => { - const days = Math.floor(time / 86400); - const hours = Math.floor((time % 86400) / 3600); + const days = Math.floor(time / (24 * 3600)); + const hours = Math.floor((time % (24 * 3600)) / 3600); const minutes = Math.floor((time % 3600) / 60); const seconds = time % 60;