簡體   English   中英

找到Javascript數組的總和並除以其長度

[英]Find the sum of a Javascript array and divide by its length

我很尷尬地問這個問題。

我是初學程序員,Javascript對我來說很困惑。 在我的導師的幫助下,我設法將這些內容放在一起,但有一些簡單的事情我無法做對。

我嘗試使用Stack Overflow搜索一個可以回答我問題的線程,但是我看到的所有這些代碼都包含了我還沒有學到的代碼,所以它們對我來說都是胡言亂語。

我要做的是添加一個數組的所有值,並將總和除以數組的長度,ergo,找到平均值。 作業的描述是找到任意數量的學生成績的平均值。

我的兩個問題是

  1. 我無法弄清楚如何獲得數組中所有數值的總和,
  2. 由於某種原因,即使我添加-1,array.length也會返回比Array實際長度多一個的值。 (例如,如果我輸入6個值,則array.length將返回7.)

我知道問題在哪里,但我無法弄清楚我需要進入什么。 這項任務明天到期,所以任何人的時間和精力都值得贊賞。

這是我的腳本:

<script type="text/javascript">
    var allGrades = new Array();
    var g = 0;
    var l = 0;
    var s = 0;
    var t = 0;
    do {
        allGrades[g] = window.prompt("Please enter one grade for each window. After you enter a grade, enter an 'x' to see the average of the grades you entered.", "")
        g++;
    }
     while (allGrades[g - 1] != "x")
     for (l = 0; l < allGrades.length - 1; l++) {
        s += allGrades[l] // Where I think the problem is
    }
    t == s / g - 1;
    g == allGrades.length - 1; //
    window.alert(g)
     switch (t) {
        case (t >= 90):
            window.alert("Your average grade is " + (t) + ". " + "This is an A.")
            break;
        case (t >= 80 && t < 90):
            window.alert("Your average grade is " + (t) + ". " + "This is a B.")
            break;
        case (t >= 70 && t < 80):
            window.alert("Your average grade is " + (t) + ". " + "This is a C.")
            break;
        case (t >= 60 && t < 70):
            window.alert("Your average grade is " + (t) + ". " + "This is a D.")
            break;
        case (t <= 60):
            window.alert("Your average grade is " + (t) + ". " + "This is a failing grade.")
            break;
    }
</script>

如果我問的話似乎很愚蠢,我很抱歉。 我只用了大約兩個月的網絡編程,所以我真的可以使用一些幫助!

凱爾

==是比較運算符。 你需要在這里使用賦值運算符( = ):

t==s/g-1; 

靠近它的線條。

此外,為了您自己,請不要使用單字母變量名稱,除非您有充分的理由這樣做。

這是編寫腳本的一種更簡潔的方法:

var grades = [];

do {
    var input = window.prompt("Please enter one grade for each window. After you enter a grade, enter an 'x' to see the average of the grades you entered.", "");

    grades.push(parseFloat(input));
} while (input != 'x');

var sum = 0;

for (int i = 0; i < grades.length; i++) {
    sum += grades[l];
}

var average = (sum / grades.length) * 100;
var grade;

if (average >= 90) {
    grade = 'A';
} else if (average >= 80) {
    grade = 'B';
} else if (average >= 70) {
    grade = 'C';
} else if (average >= 60) {
    grade = 'D';
} else {
    grade = 'failing grade';
}

alert('Your average grade is ' + average + '. ' + 'This is a ' + grade);
t==s/g-1; 
    g==allGrades.length-1; //

兩個比較,他們應該是分配

t=s/g-1; 
    g=allGrades.length-1; 

暫無
暫無

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

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