「最も多くチェックされた項目を調べる」に回答するも

最も多くチェックされた項目を調べる
http://oshiete.goo.ne.jp/qa/8587233.html

最近の回答は、もう代入文だけで、結果がでてる。
「もうこんなのは、プログラムと呼べない!」
と、叫んでみたい!^^;


かといって、あそこでは複雑な質問・もしくは面倒な(傾向になりそうな)質問には、答えたくない。
なんとなくだが、。


そんなことより、ペンキ塗りで忙しい。

<!DOCTYPE html>
<title></title>
<meta charset="utf-8">
<body>
<form onsubmit="color(event)">

<p>好きな動物は?
<p>
<label><input type="radio" name="q1" value="A">うさぎ</label>
<label><input type="radio" name="q1" value="B">カメ</label>
<label><input type="radio" name="q1" value="C">イルカ</label>
<label><input type="radio" name="q1" value="D">くま</label>


<p>好きな場所は?
<p>
<label><input type="radio" name="q2" value="A">空</label>
<label><input type="radio" name="q2" value="B">森</label>
<label><input type="radio" name="q2" value="C">海</label>
<label><input type="radio" name="q2" value="D">畑</label>


<p>好きな食べ物は?
<p>
<label><input type="radio" name="q3" value="A">豆腐</label>
<label><input type="radio" name="q3" value="B">ブロッコリー</label>
<label><input type="radio" name="q3" value="C">なす</label>
<label><input type="radio" name="q3" value="D">ハンバーグ</label>

<p>
<input type="submit" value="診断">
</form>

<script>
function color (event) {
 var col = {A: '白', B:'緑', C:'青', D:'茶色'};
 var form = event.target;
 var list = [
  form.querySelectorAll ('input[type="radio"][name^=q][value="A"]:checked'),
  form.querySelectorAll ('input[type="radio"][name^=q][value="B"]:checked'),
  form.querySelectorAll ('input[type="radio"][name^=q][value="C"]:checked'),
  form.querySelectorAll ('input[type="radio"][name^=q][value="D"]:checked')
 ];
 var radio = list.reduce (function (a, b) { return a.length < b.length ? b: a});
 var result = radio.length ? col[radio[0].value] + 'が好き': 'ひねくれもの';
 
 alert ('あなたは、' + result);
 
 event.preventDefault ();
}
</script>