所以我真的坚持这个练习了几个小时。这个想法是为了找到也在研究最弱科目的朋友的名字。我这里有一段代码:
const reportCard = {
Biology: 85,
English: 75,
Economics: 90,
History: 67,
Philosophy: 98,
};
const subjects = {
Dylan: 'Biology',
Jen: 'English',
Emily: 'Economics',
Amy: 'History',
Lenny: 'Philosophy',
};
console.log(studyBuddy(reportCard, subjects));我已经实现了一个min变量来查找第一个对象中的最低等级,如下所示:
val = Object.values(reportCard)
const min = Math.min(...val)如何将第二个对象值与第一个匹配min变量的值进行匹配。不管怎样,我可以实现它吗?我只想要一个提示,我不想让别人帮我解决这个问题。
发布于 2019-10-03 02:16:49
我会试着帮助你,而不是实际解决任务。我将首先获取friends对象的键,遍历它们,并将其用作访问reportCard对象的键。让我给你举个简单的例子:
const studentNames = Object.keys(subjects); // all student names
studentNames.forEach(student => {
const subjectValue = reportCard[student]; // now you have the value for every student
});假设subject的最大值是100,您可以在第一步定义等于101的变量,如果有任何学生的值小于101,则在循环中检查它。我希望这会有所帮助。
发布于 2019-10-03 02:25:08
我是这样实现的:
const studyBuddy = (reportCard, subjects) => {
// Write code here
val = Object.values(reportCard)
const min = Math.min(...val)
const weakestSubject = Object.keys(reportCard).find(key => reportCard[key] === min);
for (let val in subjects){
if (subjects[val] === weakestSubject){
return val
} else {
return 'Me'
}
}
};挑战标准实际上是返回好友姓名,否则返回字符串'Me‘。我不知道为什么它会返回我?当我删除else语句时,它实际上返回了正确的名称。怎么了?
发布于 2019-10-04 14:12:34
我的想法是从对象‘reportCard’中获取最弱的主题名称;您可以遍历对象,标记分数最低的主题。现在,在从对象'reportCard‘获得最低分数之后,再次循环通过第二个对象'subjects’来检查谁被分配到该主题,这是我们通过循环通过对象'reportCard‘获得的最低分数。
const reportCard = {
Biology: 85,
English: 75,
Economics: 90,
History: 67,
Philosophy: 98,
};
const subjects = {
Dylan: 'Biology',
Jen: 'English',
Emily: 'Economics',
Amy: 'History',
Lenny: 'Philosophy',
};
function studyBuddy(reportCard, subjects){
var weakestSubjectName = null;
var min = Number.MAX_VALUE;
for(var key in reportCard){
// check every marks whether it is lowest than the prev lowest marks or not
// if so, assign the subject name which has currently lowest marks
if(reportCard[key] < min){
min = reportCard[key];
weakestSubjectName = key;
}
}
// now you can loop through the second object, to get the name of person/friend who's studying the subject
for(var key in subjects){
if(subjects[key] === weakestSubjectName) return key;
}
return null;
}
console.log(studyBuddy(reportCard, subjects));https://stackoverflow.com/questions/58206097
复制相似问题