【发布时间】:2019-03-13 15:52:03
【问题描述】:
在我的程序中,我使用 和计算学生的成绩来获取学生的成绩。要检查他们得到的成绩,我已经在字典中列出了成绩数据,我想检查我的成绩是否大于某个成绩,如果不是,则给他们 A,如果没有,它将继续,直到找到合适的成绩。因此,我已将我的字典对象从最高等级到最低等级排列,因此一旦找到合适的等级停止并将等级打印给用户。由于某种原因,它从最低键对象循环到最高键,我将如何解决这个问题?从第一个键循环到最后一个键,不管它的值是什么。
var dict = {94: '"It is, A, excellent"', 90: '"It is, A-, great job"', 87: '"It is, B+, great"', 84: "It is, B, amazing", 80: "It is, B-, study little more", 77: "It is, C+, you could do better", 74: "It is, C", 70: "It is, C-", 67: "Is your grade, D+"}
function gradeCheck(sum){
var tex;
Object.keys(dict).forEach( function(key){
//console.log(key, dict[key]);
/*if(sum>=key && (sum-key)<6 ){
tex = dict[key];
return tex;
}*/
if(sum > key){
tex = dict[key];
return tex;
}
});
}
我评论了我的旧零件代码。
希望有人能帮忙,谢谢
【问题讨论】:
-
相关:Does ES6 introduce a well-defined order of enumeration for object properties?。在这种情况下,通过
Object.keys返回的键的顺序没有明确定义,如果您需要依赖特定的顺序,您应该在迭代之前自己对数组进行排序。 -
我不认为使用数字作为对象上的键是最好的方法。我会使用一个数组。
标签: javascript dictionary foreach