むりこの肯定のーと

生きているだけでえらい!すばらしい!働いているなんてなんてえらいんだ!一等賞だ!

【javascript】オブジェクト in 配列

どうも。

 

オブジェクトって本当に便利ですよね〜、、、関係代名詞で言うthatみたいな。(分かりにくい)

 

皆さんオブジェクトにインデックスを持たせたくなった(配列にしたくなった)ことってあります??私はあります。

例えば、30人クラスで各教科のテストの点数を持ちたくなった時とか。

そういった場合、各教科ごとに配列を作ってテストの点数を持つのもいいですが、整合性が保てなくなる可能性がありますよね。

 

例えば、出席番号12番の生徒が数学のテストだけ受けていなかった場合、数学のテストの配列の長さは29になってしまいます。(12番目の要素をnullか何かにすれば済むんですが、それは一旦置いといて)

それより、生徒ごとに各教科の点数を属性として持つオブジェクトを作って、それを配列化すればいいですよね。

 

分かりやすく表現するとこんな感じ。↓

案①  各教科ごとの点数の配列を持つ

 

  score_math = [ ];

  score_japanese = [ ];

  …

 

  // 出席番号12番の生徒の点数

  score_math[11] = 80;

  score_japanese[11] = 90;

  …

 

案②  各教科の点数を属性として持つオブジェクトの配列を作成する

 

  student_info = [ ];

 

  // 各生徒の情報を格納

  student_info[11] = {

    score_math = 80,

    score_japanese = 90,

    ...

  };

 

 

どちらでも実現は可能なのですが、案②の方がまあ構造としてはふさわしいのかなーと思いました。

 

ではではまたの機会に。

(最近投稿出来ていませんが、やめたわけではないのでご安心?を、、)