如何简化嵌套的JavaScript循环

时间:2016-12-29 11:56:37

标签: javascript

我已经编写了三个for循环,用于在屏幕上使用JavaScript显示数据。如何简化以下代码?

我的Json格式:

    {
        "result": {
            "type": "SUCCESS",
            "data": [{          
                "monthName": "July",
                "monthId": 7,
                "weeks": [{             
                    "days": [{                  
                        "day": "Sunday",
                        "date": "07/31/2016"
                    }],             
                }],
            }],
        }
    }
var monthObj = response.result.data;

for (var i = 0; i < monthObj.length; i++) {  
  for (var t = 0; t < monthObj[i].weeks.length; t++) {
    for (var s = 0; s < monthObj[i].weeks[t].days.length; s++) {
    }
  }     
}

这是我的循环,这里我写了3个循环 有没有简单的方法来简化这些循环?

1 个答案:

答案 0 :(得分:2)

这取决于您的数据在环路中的样子以及您想要做的事情。如果您希望monthweekday有多个条目,并且您希望对所有条目执行某些操作,则需要三个循环。

我建议使用forEach代替for

const data = {
  "result": {
    "type": "SUCCESS",
    "data": [{
      "monthName": "July",
      "monthId": 7,
      "weeks": [{
        "days": [{
          "day": "Sunday",
          "date": "07/31/2016"
        }],
      }],
    }],
  }
}

data.result.data.forEach(month => {
  month.weeks.forEach(week => {
    week.days.forEach(day => console.log(day))
  })
})