JavaScriptの特殊オブジェクト--行列

3643 ワード

オブジェクト
JavaScriptの中の複雑なデータタイプは一つしかないです.即ちオブジェクトです.
{}括弧を使って、オブジェクトを定義します.
対象は括弧で囲まれています.括弧の中で、属性はキーのペアの形で、例えばkey:valueで定義され、属性名と属性値とも呼ばれます.属性名は、識別子、文字列、または数値とすることができます.属性値は、任意のデータ値、オブジェクトまたは関数とすることができます.属性間はカンマで区切られます.たとえば:
var student={name:'Tom', number:123,age:18};
上記の例の対象は、name、number、およびageの3つの属性があります.スペースと属性の間の改行は構いません.例えば、次のように書くことができます
var student = {

    name          : 'Tom',
    number        :123
    age           :18
};
オブジェクト属性値には2つの取得方法があります.
name = student.name;
 
name = student['name'];
この2つの方法はいずれも'Tom'を取り出して変数nameに割り当てることができます.値の取り方においては,両者は完全に等価である.唯一の違いはシーンを使うことです.後者はダイナミックな値取りに使えます.私は変数を通して訪問する属性名を伝えることができます.
行列
事物の対象は1つまたは複数の属性からなることができる(数学の「集合」のような).例えば、学生Tomの期末成績のデータは対象を詳しく表してもいいです.
var grades ={ Maths : 80, Chinese : 82, Biology : 79, Physics : 86};
私たちは成績の数値を記録するだけで、対象のもう一つのフォーマット「配列」が役に立ちます.
var scores = [ 80, 82, 79, 86];
このように、配列は四角い括弧で囲まれています.括弧内では、データは独立値としてvalueで定義されています.データ値の間はコンマで区切られます.たとえば、レッスン名の配列:
var courses = [ "Maths", "Chinese", "Biology", "Physics"];
courses配列の最初の値を取る方法は、
var course = courses[0]; // course   "Maths"
配列の下付き(番号)はゼロから始まるので、最初の項目は[0]で、二つ目は[1]で、これを類推します.
配列の作成
  • Arayコンストラクタ
  • を使用する.
    let  colors = new Array();
    
    配列が保存する項目の数を知っていれば、この数をコンストラクタに伝えることもできますが、この数は自動的にレングス属性の値になります.例えば、以下のコードは、lengthを作成する値を10とする.
    let  colors = new Array(10);
    
    アレーに含まれるべき項をAray構造関数に伝達することもできる.以下のコードは4文字列の値を含む配列を作成します.
     let  colors = new Array("red","pink","blue","green");
    
    Arayコンストラクタを使用する場合はnewオペレータを省略することもできます.次の例に示すように、
    let  colors = Array();
    let  colors = Array(3)
    
  • は配列字面量表示法を使用する.配列の字面量は、配列項目を含む一対の四角い括弧で表され、複数の配列項目の間はカンマで区切られています.
    let  colors = ["red","pink","blue","green"];  //      4       
    let  name = [ ];  //       
    let  number = [1,2,];  //    !         2 3     
    let  options = [,,,,,];  //    !          5 6    
    
    配列の属性
  • は、配列の値を読み取り、設定する際に、四角い括弧を使用し、0に基づいた対応する数字の索引を提供する.
    let  colors = ["red","pink","blue","green"];  //         
    console.log(colors[0]);  //     
    colors[2] = "white"  //     
    colors[4] = "black"  //     
    
    大かっこの索引は、アクセスする値を表します.インデックスが行列の項数より小さい場合、対応する値を返します.配列を設定する値も同じ文法を使用して、指定された位置の値を置換します.インデックスが行列の既存のエントリ数を超えて設定されていると、行列は自動的にインデックス値に1の長さを加算します.
  • 配列の項数は、そのlength属性の中に保存されており、この属性は常に0以上の値を返します.以下の例:
  • let  colors = ["red","pink","blue","green"]; 
    let  name = [];
    
    console.log(colors.length);   //4
    console.log(name.length);   //0
    
    配列のlength属性が特徴的です.読み取り専用ではありません.したがって、この属性を設定することにより、配列の最後から項目を削除したり、配列に新しい項目を追加することができます.以下の通りです
    let  colors = ["red","pink","blue","green"];
    colors.length = 3;    
    console.log(colors[3]);    //undefined
    
    そのlength属性を3に設定すると最後のアイテムが削除されます.結果はColors[3]にアクセスするとundefinedが表示されます.そのlength属性を配列の数より大きい値に設定すると、追加された各項目はundefinedの値を取得します.
    length属性を利用して、配列の最後に新しいエントリを追加することもできます.以下のようにします.
    let  colors = ["red","pink","blue","green"];
    colors[colors.length] = "brown";
    
    配列の最後の項目の索引は常にlength-1であるため、次の新しい位置がlengthです.
    配列とオブジェクトの違い
  • 配列の両端は、対象の両端の括弧ではなく、四角括弧で囲まれている.
  • 配列内のデータは、個々の値であり、カンマで区切られており、オブジェクト内の属性キーの対形ではない.