gpt4 book ai didi

JavaScript:数字等级到字母等级

转载 作者:行者123 更新时间:2023-11-29 15:22:29 32 4
gpt4 key购买 nike

1. 创建一个 toLetterGrade 函数,该函数采用百分比数组并返回相应成绩字母的数组。例如:

toLetterGrade([90,80,55,85]);//返回 ["A","A-","C","A"]

2. 创建一个 toGradePoints 函数,它接受一个字母等级数组并返回一个相应的成绩点数组。例如:

toGradePoints(["A","A-","C","A"]);//返回 [4.0,3.7,2.0,4.0]

3. 创建一个 GPA 函数,该函数采用百分比数组并返回相应的平均绩点。

我正在尝试做数字 1,这是我目前的代码,但它只给出了数组中最后一个数字的字母等级。我做错了什么?

var arr

function toLetterGrade(arr) {
for (i = 0; i < arr.length; i++) {
if (arr[i] >= 85) {
textG = "A";
} else if (arr[i] >= 80) {
textG = "A-";
} else if (arr[i] >= 75) {
textG = "B+";
} else if (arr[i] >= 70) {
textG = "B";
} else if (arr[i] >= 65) {
textG = "B-";
} else if (arr[i] >= 60) {
textG = "C+";
} else if (arr[i] >= 55) {
textG = "C";
} else if (arr[i] >= 50) {
textG = "D";
} else {
textG = "F";
}
}
return textG;
}

document.write(toLetterGrade([90, 80, 70]))

输出为B。

最佳答案

你在循环的每个循环中都覆盖了你的变量,这就是为什么你只得到一个 - 最后一个成绩。

我建议你使用一个空数组变量来存储结果。

在每个循环中,您都将为 textG 变量分配新的成绩,然后将其推送到 result 数组中。 textG 变量在每次循环 textG = '' 时都会重置,因此没有重复/覆盖结果的风险。

for 循环的所有循环之后,result 数组被返回。

function toLetterGrade(arr) {
var textG = '';
var result = [];
for (i = 0; i < arr.length; i++) {
textG = '';
if (arr[i] >= 85) {
textG = "A";
} else if (arr[i] >= 80) {
textG = "A-";
} else if (arr[i] >= 75) {
textG = "B+";
} else if (arr[i] >= 70) {
textG = "B";
} else if (arr[i] >= 65) {
textG = "B-";
} else if (arr[i] >= 60) {
textG = "C+";
} else if (arr[i] >= 55) {
textG = "C";
} else if (arr[i] >= 50) {
textG = "D";
} else {
textG = "F";
}
result.push(textG);
}
return result;
}

document.write(toLetterGrade([90, 80, 70]))

关于JavaScript:数字等级到字母等级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42492644/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com