首页 > 解决方案 > JavaScript for 循环与 for(...in) 循环

问题描述

我刚开始学习JS(3周)。几天前我研究了for循环和for ...in循环,并检查了它们各自的优缺点。但是,我尝试将 for(...in) 循环更改为 for 循环,但出现错误。你能检查一下我遗漏了哪一部分吗?

这是一个完整的代码

const getExamResult = (scores, requiredClasses) => {
  let newObj = {};
  let scoresKeys = Object.keys(scores);
  const scoresValue = Object.values(scores);
  // 학점 정보가 담겨 있는 객체
  const changeValue = {
    'A+': 4.5,
    'A': 4,
    'B+': 3.5,
    'B': 3,
    'C+': 2.5,
    'C': 2,
    'D+': 1.5,
    'D' : 1,
    'F' : 0
  };
  
  for (let i in scoresValue) {
    const key = scoresKeys[i];
    const value = scoresValue[i];
    const newValue = changeValue[value];
    
    newObj[key] = newValue;
  }

  for (let i = 0; i <scores.length; i++) {
    const key = scoresKeys[i];
    const value = scoresValue[i];
    const newValue = changeValue[value];

    newObj[key] = newValue;
  }
 for (let index in requiredClasses) {
    let element = requiredClasses[index];
    
    if (!newObj[element]) {
      newObj[element] = 0;
    }
  }
  
  return newObj;

}

我改变了这段代码

 for (let i in scoresValue) {
    const key = scoresKeys[i];
    const value = scoresValue[i];
    const newValue = changeValue[value];
    
    newObj[key] = newValue;
  }

  for (let i=0; i <Object.values(scores); i++){
    let key = scoresKeys[i];
    let value = scoresValue[i];
    const newValue = changeValue[value];

    newObj[key] = newValue;
  }

提前谢谢你的帮助!

标签: javascript

解决方案


推荐阅读