JSの元の配列を変更する方法と元を変更するソリューションのアレイ

元の配列方法を変更します

  • ポップ():配列の最後の要素を削除し、その要素を返します。
  • )(プッシュ:配列要素の端に付加配列の長さ、後に、更新を返します
  • シフト():配列の最初の要素を削除し、その要素を返します
  • 最初の配列の要素を追加して、戻って、更新後の配列の長さ:抜き()
  • ソート():配列のソート、コールバック関数は、ソートしたいルールに従って追加することができます(ASCII文字をソートすることにより行います)
  • リバース():配列のリバース
  • (索引、howManyが、新たなデータ)をスプライス:アレイからなる除去の要素を返します。

元の配列を変更するソリューション

背景:必要性は、元の配列と配列を等しくし、元の配列に影響を与えていない場合、配列演算処理:深いコピー。

VaRの A = [1,2 ,. 3 ];
 // 今回は、Bが必要に等しいが、Bが変更され、影響を与えない

// 方法、スライス()
するvar B1 = a.slice(); 

// 方法IIを。 CONCAT()
するvar B2 = [] .concat(A); 

// 方法3、JSON.parse(JSON.stringify())
するvar B3 = JSON.parse(JSON.stringify(A)); 

// メソッドIV、手書きディープコピーの方法
VAR deepCopy = 関数(OBJ){
  IFtypeof演算!OBJ == 'オブジェクト')のリターン;
  VAR NEWOBJ OBJ = instanceofの?アレイ{}、[]
  のためのVAROBJ){
    場合(obj.hasOwnProperty(キー)){ 
      NEWOBJ [キー] = typeof演算 OBJ [キー] === 'オブジェクト'?deepCopy(OBJ [キー]):OBJ [キー]。
    } 
  } 
  戻りNEWOBJと、
} 
VARの B4 = deepCopy(A)。

 

おすすめ

転載: www.cnblogs.com/Ingots/p/11517018.html