オブジェクトと連想配列の違い

オブジェクトは○○の△△というように名前で管理するのに向いている。
連想配列はインデックス番号で○番目という管理(ループで一気に処理)に向いている。
表示する結果は同じでもデータをどのように管理したいのかによって使い分ける。

[オブジェクトのソースコード]

<script>
function Seito(name , seiseki){
	this.name = name;
	this.seiseki = seiseki;
}

Seito.prototype.info = function(){ // プロトタイプ(型)を作成
	return this.name + "の成績は" + this.seiseki + "点。
"; } var Taro = new Seito("太郎" , 95); var Hanako = new Seito("花子" , 80); var Mikipu = new Seito("ミキプ" , 35); var str1 = ""; str1 += Taro.name + "の成績は" + Taro.seiseki + "点。
" str1 += Hanako['name'] + "の成績は" + Hanako['seiseki'] + "点。
" str1 += Mikipu['name'] + "の成績は" + Mikipu.seiseki + "点。
" var output1 = document.getElementById('kekka1'); kekka1.innerHTML = str1;
var output1 = document.getElementById('kekka1'); kekka1.innerHTML =Taro.info() + Hanako.info() + Mikipu.info(); </script>

[オブジェクトの実行結果]

[連想配列のソースコード]

<script>
var Seito = new Array();
	Seito[0] = {name : "太郎" , seiseki : 95};
	Seito[1] = {name : "花子" , seiseki : 80};
	Seito[2] = {name : "ミキプ" , seiseki : 35};
	
	var str2 = "";
	
	for(var i = 0 ; i < Seito.length ; i++){
		str2 += Seito[i].name + "の成績は" + Seito[i].seiseki + "点。<br />"
	}

	var output2 = document.getElementById('kekka2');
	output2.innerHTML = str2;
</script>

[連想配列の実行結果]

インデックスに戻る