連想配列

社内の勉強会でJavaScriptの配列、連想配列を扱った。Cしか使ったこと無い人には、カルチャーショックが大きかったようだ。

そのなかでも連想配列の強力さのアピールができたコード。
入力文字列の文字ごとの数を数えるコード。

'use strict';
// countChar.js
function main() {
	var str;
	
	for (;;) {
		// 文字列入力
		str = prompt('英数字を入力してください。', 'hello, world!');
		if (str) {
			break;
		}
	}
	// 連想配列初期化
	var asso = {};
	
	var lenStr = str.length;
	for (var i = 0; i < lenStr; i++) {
		asso[str.charAt(i)] = (asso[str.charAt(i)]) ? asso[str.charAt(i)] + 1 : 1;
	}
	
	// 結果表示
	for (var key in asso) {
		document.write(key + ': ' + asso[key] + '<br />\n');
	}
}

html側
document.writeの使用方法は良くない使い方だが、コンテンツは空なので、気にしない。

<html>
	<head>
		<title>連想配列操作</title>
		<script src="./countChar.js" type="text/javascript" >
		</script>
	</head>
	<body onload="main()">

	</body>
</html>