簡體   English   中英

js 將參數傳遞給 function 以便我可以對一些數字進行排序

[英]js pass parameter to a function so i can sort some numbers

為什么當我將代碼粘貼到 playcode.io 時,它的工作原理是這樣的

 function Nums(args) { let n = Number(args[0]); let p1 = 0; let p2 = 0; let p3 = 0; let p4 = 0; let p5 = 0; for (let i = 1; i < n; i++) { let currentNum = Number(args[i]) if (currentNum < 200) { p1++; } else if (currentNum < 400) { p2++; } else if (currentNum < 600) { p3++; } else if (currentNum < 800) { p4++; } else if (currentNum <= 1000) { p5++; } } console.log(p1); console.log(p2); console.log(p3); console.log(p4); console.log(p5); } Nums(["4", "1", "3", "999"]);

我想對一些數字進行排序,但 arrays 不是從 0 開始,為什么當我輸入 4 作為第一個數字時計算它正確? 如果我輸入 2 它會放置我的 1 和 3 如果第一個變量和最后一個變量為空

您可以使用一個數組來計算某個插槽中的數字。

 function nums(values) { let counts = [0, 0, 0, 0, 0]; values.forEach(v => counts[Math.min(Math.floor(v / 200), 4)]++); return counts; } console.log(...nums([4, 1, 3, 999, 1000]));

你好朋友,我讓它按我想要的方式工作。 首先抱歉,我解釋得不夠清楚。這是更正:

 function Histogram(args) { let n = Number(arguments[0]); let v1 = 0.0; let v2 = 0.0; let v3 = 0.0; let v4 = 0.0; let v5 = 0.0; for (let i = 1; i <= n; i++) { let currentNum = Number(arguments[i]) if (currentNum < 200) { v1++; } else if (currentNum < 400) { v2++; } else if (currentNum < 600) { v3++; } else if (currentNum < 800) { v4++; } else if (currentNum < 1000) { v5++; } } console.log(v1); console.log(v2); console.log(v3); console.log(v4); console.log(v5); } Histogram('3','1', '2', '999');

現在我想知道為什么當我插入更多代碼時它再次中斷......

 let p1Percantage = 0; let p2Percantage = 0; let p3Percantage = 0; let p4Percantage = 0; let p5Percantage = 0; p1Percantage = (v1 / n * 100); p1Percantage = (v2 / n * 100); p1Percantage = (v3 / n * 100); p1Percantage = (v4 / n * 100); p1Percantage = (v5 / n * 100); console.log(p1Percantage.toFixed(2) + "%"); console.log(p2Percantage.toFixed(2) + "%"); console.log(p3Percantage.toFixed(2) + "%"); console.log(p4Percantage.toFixed(2) + "%"); console.log(p5Percantage.toFixed(2) + "%");

應該顯示最后一個顯示為第一個的變量...預期 output

66.67% 0.00% 0.00% 0.00% 33.33%

主要的:

33.33% 0.00% 0.00% 0.00% 00.00%

整個程序應該按它們的值對正確變量中的直方圖數組進行排序,並顯示每個變量的百分比 p1Percantage = (v1 / n * 100); .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM