クラスでのJavaScriptの配列オブジェクトの配列オブジェクトの分析

配列(配列オブジェクト)

アレイは、データの集合である。

JavaScriptでこのデータタイプの無配列。配列オブジェクトが作成されます。

  • キー(添字):アレイの異なる値を区別するためのフラグが鍵であり、鍵は、初期0です。
    • アレイインデックス配列と呼ばれるデジタルキーの主題として。
    • キーなどの文字列を条件に、この配列は連想配列と呼ばれています
    • 注:ではJavaScriptの唯一のインデックス付きの配列は、Y全く連想配列は0インデックス付きの配列から連続してはなりません!
  • 値は各キーデータに対応する値です。
  • キーと値のペアは:キーの値が+の鍵となります

操作配列

アレイ法を作成します。

  • 新しい配列();
    • 変数VAR =新しいアレイ();空の配列を作成します
    • 変数VAR =新しいアレイ(値、値...);指定された要素のアレイ
    • 変数VAR =新しいアレイ(整数);指定された長さの配列
  • オブジェクトリテラルを使用して
    • VAR変数= [];空の配列を作成します
    • VAR変数= [値、値...];指定された要素のアレイ
    • VAR変数= [整数];配列要素指定された整数を作成し、ない〜の長さ!

追加し、配列の要素を変更

  • 配列変数[配列変数.LENGTH] =値。

    [a.length] = 1; //追加

  • 配列変数[指定されたインデックス] =新しい値。

    [0] = 1;口コミ

  • 配列変数[配列長の電流値を超え] =値。

    = A [1,2,3]、

    A [5] = 5;

    出力:[1、2、3、 x 2を空、5]

削除配列要素

  • 削除配列変数[指定されたインデックス]。

    deldet [0]。

  • 注:唯一の配列要素の値を削除することができ、このように、キーを削除することはできません、そして削除は、配列の長さは変更されません。あなたは完全に要素を削除したい場合は、この方法をスプライスする必要があります。

配列要素の使用

  • 配列変数[指定されたインデックス]。

配列要素を通じて、

  • 最初の

    var x = [1,2,3];
    for (var i=0;i<x.length;i++){
        console.log(x[i]);
    }
  • 第2

    var x = [1,2,3];
    for (var i of x){
        console.log(i);
    }

    以下が出力されます

    1
    2
    3

多次元配列

次のように人気の解釈しました

  • 一次元配列:

    すべての値は、配列の要素でない場合、アレイは、一次元アレイです。

  • 二次元配列:

    素子の一次元アレイを一次元配列に含まれる場合、アレイは、二次元アレイであります

  • 3次元配列:

    一次元配列の要素は、2次元アレイを含む場合、アレイ、三次元アレイであります

  • 多次元配列:

    つ以上の配列の次元場合、集合的に多次元配列としても知られています

  • 多次元配列アクセス演算:

    配列変数[キー]、[キー] ...

関連する関数の配列

CONCAT()

  • 接続された配列要素
  • フォーマット:

    =新しい変数の配列変数.concat(値、値...)

    B = a.concat VAR(A ,. 1、 "X")。

  • パラメータ値は、値が正常であってもよいし、アレイ型であってもよいし、接続することができます。
  • すべての配列の後ろに配列に追加され、値が正常な値正常に追加されます

参加します()

  • 、デフォルトは文字列に文字配列の要素を使用して接続,
  • フォーマット:

    =新しい変数の配列変数.join(現像列)

    B a.join VARは=(「」); // ""接続されていないヌル文字列に等しいです。

ポップ()

  • アレイの末尾に要素をポップ(直接元の配列を変更します)
  • フォーマット:

    =結果変数の配列変数.pop();

    B a.pop VAR =();

  • 注:この方法はポップアップ要素の直接操作の元の値の配列を返します。

押す()

  • アレイの末尾に要素を追加する(直接元の配列を変更します)
  • フォーマット:

    .Push配列変数結果変数=(値、値..)

    するvar B = a.push( "2"」1" )。

  • 注:配列の配列を操作する元のメソッドは、戻り値は長さの後に追加されている指示します。

シフト()

  • 配列の先頭要素を削除で(直接元の配列を変更します)
  • フォーマット:

    =結果変数の配列変数.shift();

    VARのa.shiftのB =();

アンシフト()

  • 要素を追加する配列の先頭に(直接元の配列を変更します)
  • フォーマット:

    =結果変数の配列変数.unshift(値、値...)

    VARのB = a.unshift( "2"」1" )。

    逆()

  • アレイの逆の方法
  • フォーマット:

    =結果変数の配列変数.reverseを();

    B =()a.re​​verse VAR。

ソート()

  • 配列のソート方法
  • 文字列は、ASCIIソート操作を使用してソートします。
    • フォーマット:

      =配列変数結果変数.sort();

      VARのa.sortのB =();

  • デジタル発注のサイズを使用してデジタル発注、
    • フォーマット:

      =結果変数の配列変数.sort(コールバック);

      VARのa.sortのB =(C)。

    • コールバック関数の形式要件:
      • これは、2つのパラメータを渡す必要があります。
      • 戻り値は、正、負またはゼロでなければなりません。

スライス()

  • アレイを切断し、前記リターン部
  • フォーマット:

    =配列変数.slice転帰変数(添字、上付き端開始);

    VAR a.sliceのB =(1,3)。

  • 注:要素は、開始位置が含まれていますが、終了位置の要素が含まれていません
  • パラメータは、位置パラメータであり、正の数は、前方後方の負の数から、後方正面の数を示します。

スプライス()

  • アレイを動作させる汎用方法(直接元の配列を変更します)
  • 指定した位置に要素を追加します。

    =結果変数の配列変数.splice(位置、0、新しい要素を開発..)

    VaRのa.spliceのB =(1,0、 "ABC");

  • 現像位置で削除する要素

    =結果変数の配列変数.splice(現像位置、削除の数);

    VARのa.spliceのB =(1,2)。

  • 現像位置にある要素を置き換え

    =結果変数の配列変数.splice(現像位置、削除、追加要素の数)

    VaRのa.spliceのB =(1,2、 "ABC"、 "DEF")。

オブジェクトのクラスArray

我々は、オブジェクトのクラスの配列を呼び出すJavaScriptで特別なオブジェクトの配列と類似した性質があり、最も一般的なのはargumengsオブジェクトです。

定義

  • 要素は、インデックスを介してアクセスし、長さ特性を有することができます。
  • 他の方法のようなない配列、例えばプッシュ、forEachの、のindexOf。

例えば

クラスArray

    var arrLike = {
        0: 'Java',
        1: 'Python',
        2: 'PHP',
        length: 3
    }

モデルの配列を持ちます

var arr = ["Java", "Python", "PHP"];

コントラスト配列

  • 配列の長さにアレイ・オブジェクト・アクセス、割り当て、及び取得操作は同じです
    • アクセス

      console.log(ARR [0])。//ジャワ

      にconsole.log(arrLike [0])。// Javaの

    • 割り当て

      ARR [0] = 'のJavaScript';

      arrLike [0] = 'のJavaScript';

    • オブジェクトの長さを取得します。

      console.log(arr.length)。// 3

      にconsole.log(arrLike.length)。// 3

  • 配列オブジェクトとクラス区分アレイは、直接クラスメソッド配列を使用することができないオブジェクトの配列であります
    • Classオブジェクトは、配列を使用してアレイを与えられています

      arrLike.push( "C ++")。//キャッチされない例外TypeError:arrLike.pushは関数ではありません

変更

時々、私たちは、直接または間接的に変換を変換し、変換する必要がある上、配列のクラス特性の配列を持っているこの時間を必要としています。

間接の

Function.applyメソッドまたはFunction.callにより、

  • Function.call
Array.prototype.push.call(arrLike, 'C++');
console.log(arrLike);
 // { '0': 'Java', '1': 'Python', '2': 'PHP', '3': 'C++', length: 4 }
  • Function.apply
Array.prototype.push.apply(arrLike, ['C++']);
console.log(arrLike);
 // { '0': 'Java', '1': 'Python', '2': 'PHP', '3': 'C++', length: 4 }

ダイレクト

  • Arrayクラスに配列をArray.prototype.slice

    Array.prototype.slice.call(arrLike、0);

    Array.prototype.slice.apply(arrLike、0);

  • 配列コンバートにArray.prototype.splice配列

    Array.prototype.splice.call(arrLike、0);

    Array.prototype.splice.apply(arrLike、0);


おすすめ

転載: www.cnblogs.com/aduner/p/12229685.html