Без цикла:
document.getElementsByName('gender').reduce(function(value, checkable) {
if(checkable.checked == true)
value = checkable.value;
return value;
}, '');
reduce
- это просто функция, которая будет последовательно передавать элементы массива во второй аргумент обратного вызова и ранее возвращенную функцию в значение, в то время как для первого запуска она будет использоватьзначение второго аргумента.
Единственный минус этого подхода заключается в том, что Reduce будет проходить каждый элемент, возвращаемый getElementsByName
, даже после того, как он обнаружил выбранную радиокнопку.