diff --git a/pages/api/tool.ts b/pages/api/tool.ts index b1b923d..4cf661a 100644 --- a/pages/api/tool.ts +++ b/pages/api/tool.ts @@ -27,17 +27,17 @@ export default async function handler( } = JSON.parse(jsonStr); // Normalization - // 使用 标准分数 算法 z = (x - mean) / std + // 使用 权重值 / 权重值之和 const { selections } = json; const nums = Object.values(selections); - const mean = nums.reduce((a, b) => a + b) / nums.length; + const sum = nums.reduce((a, b) => a + b); + const mean = sum / nums.length; const std = Math.sqrt( nums.map((x) => Math.pow(x - mean, 2)).reduce((a, b) => a + b) / nums.length ); - const normalizedNums = nums.map((x) => (std === 0 ? 0 : (x - mean) / std)); for (const index in selections) { - selections[index] = std === 0 ? 0 : (selections[index] - mean) / std; + selections[index] = selections[index] / sum; } users[json.user] = selections; } @@ -99,6 +99,10 @@ export default async function handler( sortedHoursCount.sort((a, b) => a[1] - b[1]); console.log("sortedHoursCount", sortedHoursCount); console.log("sortedHoursCount.length", sortedHoursCount.length); + console.log( + "user.length === sorted.length", + Object.keys(users).length === sortedHoursCount.length + ); res.status(200).json(resp); } diff --git a/pages/report-tool.tsx b/pages/report-tool.tsx index f8a845b..8e1b7ce 100644 --- a/pages/report-tool.tsx +++ b/pages/report-tool.tsx @@ -6,8 +6,8 @@ const ReportPage = () => { const getReport = async () => { const resp = await fetch("/api/html").then((resp) => resp.json()); ref.current.innerHTML = resp.html; - const json: Record = await fetch("/api/tool").then( - (resp) => resp.json() + const json: Record = await fetch("/api/tool").then((resp) => + resp.json() ); const table = ref.current.children[0]; const tbody = table.children[table.children.length - 1]; @@ -47,4 +47,4 @@ const ReportPage = () => { ); }; -export default ReportPage; \ No newline at end of file +export default ReportPage;