javascript——Arayタイプ

10139 ワード

今日のこの教程はECMAScript 3の部分機能だけではなく、EXMAScrip 5に関する多くの新しい機能を説明します.
一、作成
      引用のタイプなので、使う前に構造しておく必要があります.
      二つの方法に分けて話します.
      I、コンストラクタ
        1.空のAray例
var colors = new Array();
      
       2.記憶数を初期化するArayの例
1 var colors = new Array(20);
      このパラメータ「20」は、lengthが20個の配列を作成します.     
       3.データ付きのAray例
1 var colors = new Array("red","black","white");
      ここでは、記憶すべきデータを直接配置関数において初期化する.
      実は上のコンストラクションはすべて「new」を省略して直接「varカラー=Aray()」を使ってもいいです.
    II、字面量表示法
      1.空のAray例
var color = [];
    
     2.データを持つArayの例
1 var colors = ["red","white","black"];
操作する
   私たちが創造した配列である以上、それをどのように使うかを学ぶ必要があります.
   次に、アクセスデータ、データの修正、データの削除、データの追加の方面から説明します.
   I、アクセスデータ
       1.索引を通じてアクセスする
1 var colors = ["red","black","white"];
2 alert(colors[0]); //  "red"
3 alert(colors[3]); //  "undefined"
    私たちが訪問したインデックスが上限を超えていたら、最終的に返してくれる値は「undefined」文字列です.
   II、修正データ
      1.索引での変更
1 var colors = ["red","white","black"];
2 colors[1] = "green";
3 alert(colors[1]) //   "green"   
  III、データの削除
      1.後ろから前へ配列を指定サイズに削除します.
1 var colors = ["red","black","white"];
2 alert(colors.length) //  "3"        
3 colors.length = 1;
4 alert(colors[0]); //  "red"   
5 alert(colors[1]); //  "undefined"   
     この方法は、大量のデータを後から前へ削除する際に使用する必要があり、単に「length」属性を削除した配列サイズに設定すればよい.
     2.指定したデータを削除する
1 var colors = ["red","black","white"];
2 colors.splice(0,1);
3 alert(colors.length); //   "2"            
4 alert(colors[0]);      //   "black"       "red"     
    ここでは「splice」を使って指定したデータを削除しますが、単にデータを削除するだけではありません.「splice」の2番目のパラメータは、削除すべき数を表しています.(ゼロなら、指定されたデータの後にデータを追加することができます.)最初のパラメータは、データのインデックス位置です. 
    3.指定したデータを削除し、指定したデータに置き換えます.
1 var colors = ["red","white","black"];
2 colors.splice(0,1,["green","blue"]);
3 alert(colors.length); //  "4"   
4 alert(colors[0]);//   "green"             
5 alert(colors[1]); //   "blue"         
    ここでは「splice」の三つ目のパラメータを使って、私たちが追加したいデータを第三のパラメータに入れました.
  III、追加データ
       1.データの追加
1 var colors = ["red","white","black"];
2 colors[colors.length] = "green";
3 colors[colors,length] = "blue";
4 alert(colors.length); //  "5"   
5 alert(colors[4]); //  "blue"            
     ここでは、なぜ「colors、length」を使うのかと迷う人がいると思いますが、原理は簡単です.「length」属性は現在の最大インデックスよりずっと大きいです.また、javascriptはこのような方式の割り当てを支持しています.もちろん、データを追加することができます.
1 var colors = ["red","white","black"];
2 colors.concat(["white","blue"]);
3 alert(colors.length); //  "5"       
       2.指定された位置にデータを追加する
1 var colors = ["red","black","white"];
2 colors.splice(1,0,["green","blue"]);
3 alert(colors.length); //  "5"
4 alert(colors[2]); //  "green"   
    ここのこのような方法は前に述べましたが、もう一度説明しません.
  三、指定データを取得する(ステップ)
     I、指定範囲内のデータを取得する
1 var colors = ["red","black","white"];
2 alert(colors.slice(1)); //  "black,white"    
     ここで「slice」は指定された位置のデータを得るために使われます.ここでは一つのパラメータだけが渡されます.パラメータはデータを得るためのインデックスです.
1 var colors = ["red","black","white"];
2 alert(colors.slice(1,2)); //  "black"   
    ここで使われている二つのパラメータの「slice」は、読者が「black」文字列を弾いただけで、「white」文字列を弾いていないことを発見するかもしれません.最後に指定した索引「4」は表示されないためです.インデックスを開始するデータだけを第二のパラメータに指定された索引(含まない)に表示します.
   II、指定のセパレータデータを取得する
1 var colors = ["red","blue","white"];
2 alert(colors.join("|")); //  "red|blue|white"    
  四、データ記憶方式
     I、スタック
1 var colors = ["red","black","white"];
2 colors.push("black"); //  
3 alert(colors.pop()); //   "black"    
    II、キュー
1 var colors = ["red","black","white"];
2 colors.push("black");
3 alert(colors.shift()); //  "red"   
1 var colors = ["red","white","black"];
2 colors.unshift("blue");
3 alert(colors.pop()); //  "red"   
以上は部分的な内容で、後は引き続き更新します.