getElementsByName() 括号里边是“字符串+循环变量”怎么办

getElementsByName() 括号里边是“字符串+循环变量”怎么处理?
        本人小白,现有个问题请教大家,下列代码中,  var cat = document.getElementsByName(??????);括号中应该怎么写才能分别取a1-a5,并实现”纵列选项超过3个,请检查“的功能?


<!DOCTYPE HTML>
<html>
  <body>
       <form method="post" action="" onsubmit="return check()" >
        Q5.请问,以下广播调频中,您在过去一周内至少收听15分钟的频率有哪些?(多选)<br> 
        <input type="checkbox" name="a1" value="1">上海人民广播电台<br>
        <input type="checkbox" name="a2" value="2">东方都市广播<br>
        <input type="checkbox" name="a3" value="3">上海交通广播 <br>
        <input type="checkbox" name="a4" value="4">上海流行音乐广播1 <br>
        <input type="checkbox" name="a5" value="5">上海流行音乐广播2 <br>
     
        <input type="submit" name="odinbuttonOK"  value="提交"> 
      </form>
  </body>
</html>

<script type="text/javascript">
function check()
{
    var num=0
    for (i=0; i<5; i++){
       var cat = document.getElementsByName(??????);
         if (cat){
           if (cat.checked == true) {
               num=num+1;
       }                           
         }
      }
     
        if (num>3){
         alert("纵列选项超过3个,请检查!");
     return false;};
    
    }
</script>

------解决思路----------------------
function check()
{
var num=0;
for (i=1; i<=5; i++){
var cat = document.getElementsByName("a"+i)[0];
if (cat){
if (cat.checked) {
num=num+1;
}                           
}
}
if (num>3){
alert("纵列选项超过3个,请检查!");
return false;
}
}