プロトタイプとDaquanの例のjavascript配列!!

 

配列プロトタイピング法の配列は、メソッドをオブジェクトへのオブジェクトから継承されているが、ここで我々は唯一以下の通りプロトタイピング法の配列にプロトタイプの方法を紹介し、そこにあります。
参加します()
プッシュ()、ポップ()
シフト()和アンシフト()
ソート()
逆()
CONCAT()
スライス()
スプライス()
indexOf()とlastIndexOfでも()(新しいES5)
forEachの()(ES5新)
マップ()(新しいES5)
フィルタ()(ES5新)
すべての()(ES5新)
いくつかの()(ES5新)
(削減)とreduceRight()(ES5新)
 
各メソッドの基本的な機能に関する次の詳細。
1)(ジョイン
(セパレータ)参加:セパレータ:文字列から配列の要素の群を、セパレータにおけるセパレータとして、デフォルトのパラメータを1つだけ受信したカンマ区切りであり、省略されています。
ARR = [1,2,3]でした。
console.log(arr.join())。// 1,2,3
console.log(arr.join( " - ")); // 1-2-3
console.log(ARR); // [1、2、3](不変元の配列)
()メソッドは、文字列、文字列を繰り返し、次のように、繰り返し回数は、繰り返し文字列の後に返すことができる機能を渡すだけですされて参加することによって達成することができます。
関数repeatString(STR、N){
  (N + 1).join(STR)新しい配列を返します。
}
console.log(repeatString( "ABC"、3))。// ABCABCABC
console.log(repeatString( "こんにちは"、5)); // HiHiHiHiHi

 

図2に示すように、プッシュ()とPOP()
プッシュ():改変を返した後にアレイの端部、および配列の長さにそれらを一つずつ追加するために、任意の数のパラメータを受け取ることができます。
ポップ()配列の長さの値を減少させる、アレイの最後の一端を除去し、除去アイテムを返します。
VAR ARR = [ "リリー"、 "ルーシー"、 "トム"];
VARカウント= arr.push( "ジャック"、 "ショーン");
console.log(カウント)。// 5
console.log(ARR)。// [ "リリー"、 "ルーシー"、 "トム"、 "ジャック"、 "ショーン"]
VARアイテム= arr.pop()。
console.log(アイテム)//ショーン
console.log(ARR)。// [ "リリー"、 "ルーシー"、 "トム"、 "ジャック"]

 

図3に示すように、シフト()和抜き()
シフト():最初の元の配列を削除し、その値の要素を削除するために戻り、配列が空であるならば、undefinedを返し。
アンシフト:元の配列の先頭にパラメータを追加し、配列の長さを返します。
この方法と上記の基は、(プッシュ)とPOP()メソッドは、正確に対応する配列の操作のアレイ、一端の動作の始まりです。
VAR ARR = [ "リリー"、 "ルーシー"、 "トム"];
VARカウント= arr.unshift( "ジャック"、 "ショーン");
console.log(カウント)。// 5
console.log(ARR)。// [ "ジャック"、 "ショーン"、 "リリー"、 "ルーシー"、 "トム"]
VARアイテム= arr.shift()。
console.log(アイテム)//ジャック
console.log(ARR)。// [ "ショーン"、 "リリー"、 "ルーシー"、 "トム"]

 

4、ソート()
ソート():順アレイエントリを昇順 - すなわち、最小値が前方に位置し、最大値を底面に。
ソートする場合、ソート()メソッドは、配列変換の各項目、ソート方法を決定し、次いで、得られた文字列を比較するためのtoString()メソッドを呼び出します。各数値配列であっても、次の問題が発生するように、並べ替え()メソッドは、文字列を比較することです。
VaRのARR1 = [ "A"、 "D"、 "C"、 "B"]。
console.log(arr1.sort())。// ["あいうえお"]
ARR2 = [13、24、51、3]。
console.log(arr2.sort())。// [13、24、3、51]
console.log(ARR2); // [13、24、3、51](配列要素が変更されました)
我々は、値の前に配置されている値を指定するように上記の問題を解決するために、並べ替え()メソッドは、パラメータとして比較関数を受信することができます。比較関数は、2つのパラメータ、負の数が返される前に、最初のパラメータが第2の戻り正の数の後に配置する必要がある場合のパラメータが等しい戻り値0である場合には、第2は、配置する必要がある場合、最初のパラメータを受信します。以下は、単純な比較関数であります:
機能比較(値1、値2){
  IF(値1 <値2){
    -1を返します。
  }
  それ以外の場合(値1>値2){
    1を返します。
  }
  他{0を返します;}
}
ARR2 = [13、24、51、3]。
console.log(arr2.sort(比較))。// [3、13、24、51]
結果は限りスイッチング機能を比較するために値を返すように、降順で比較関数によって生成される必要がある場合:
機能比較(値1、値2){
IF(値1 <値2){リターン1;}
  それ以外の場合(値1>値2){
  -1を返します。
  }他{戻り0;}
}
ARR2 = [13、24、51、3]。
console.log(arr2.sort(比較))。// [51、24、13、3]

 

5)(リバース
逆():配列の項目の順序を逆に。
[13、24、51、3] = ARRました。
console.log(arr.reverse())。// [3、51、24、13]
console.log(ARR); // [3、51、24、13](元の配列の変化)

 

6、CONCAT()
CONCAT():元の配列にパラメータを追加します。このメソッドは、現在の配列のコピーを作成し、このコピーの最後に受信したパラメータを追加し、最終的には新築の配列を返します。単に現在の配列のコピーをコピーして戻す連結()メソッドへのパラメータを渡すことはありません。
[1,3,5,7] = ARRました。
VAR arrCopy = arr.concat(9、[11,13])。
console.log(arrCopy)。// [1、3、5、7、9、11、13]
console.log(ARR); // [1、3、5、7](元の配列を変更しません)
以上の試験結果を見つけることができるから:受信アレイの背面に直接パラメータを追加し、配列ではない配列に渡された場合、個々の項目のアレイは、アレイに追加されます。しかし、入ってくるが、それは二次元配列ですか?
VAR arrCopy2 = arr.concat([9、[11,13])。
console.log(arrCopy2)。// [1、3、5、7、9、配列[2]
console.log(arrCopy2 [5])。// [11、13]
上記のコード、第arrCopy2アレイは、2つを含む配列であり、その連結方法は、アレイに渡された場合、各項目は、アレイに追加の配列で渡すことができるいくつかの項目の配列であり、次いで私たちは、中arrCopy2に追加する項目の配列としてこれを配置します。
 
図7に示すように、スライス()
スライスは、():元の配列からインデックス間のアイテムの新しい配列を完了するために、インデックスの開始を返します。スライス()メソッドは、アイテムの開始及び終了位置に戻るように、すなわち、一つまたは二つのパラメータを受け入れることができます。唯一つのパラメータの場合には、スライス()メソッドは、配列の最後に現在の位置を指定するこのパラメーターからすべてのエントリを返します。二つのパラメータがある場合、本方法は、開始位置と終了位置との間でアイテムを返す - が、アイテムの終了位置を含みません。
[1,3,5,7,9,11] = ARRました。
arrCopy = arr.slice(1)でした。
arrCopy2 arr.slice =(1,4)でした。
VAR arrCopy3 =​​ arr.slice(1、-2)。
たarrCopy4 arr.slice =(-4、-1)。
console.log(ARR); // [1、3、5、7、9、11](元の配列を変更していません)
console.log(arrCopy)。// [3、5、7、9、11]
console.log(arrCopy2)。// [3,5,7]
console.log(arrCopy3)。// [3,5,7]
console.log(arrCopy4)。// [5,7,9]
すなわち、最終的なアレイを開始するために、インデックス1、そう(添字1を含む)を返す配列の添字1から始まる、唯一つのパラメータを設定arrCopy。
arrCopy2設定された2つのパラメータは、(4を含まない)インデックスサブアレイ終端に開始する(1を含む)開始インデックスに戻ります。
arrCopy3は、2つのパラメータを設定し、終了インデックスは、負である場合、負の発生、配列の長さを加算した負の値1〜4開始(含まれていない)ように(6)、位置の数を交換するサブアレイ。
arrCopy4 2つのパラメータは負であるので、配列の長さは、正の数6に結合され、したがって、スライス(2,5)に相当します。

 

8、スプライス()
()スプライス:メソッドの非常に強力な配列を、多くのがあり、それが削除達成することができます使用して、挿入して交換してください。
削除:あなたは、単に2つのパラメータを指定し、任意の数の項目を削除することができます。項目の数を削除すると、最初の項目の位置を削除します。例えば、スプライス(0,2)は、最初の二つの配列を除去します。
挿入:開始位置0(アイテムの数を除去するために)挿入される項目:3つのパラメータのみを設けた位置を、指定された項目の任意の数に挿入することができます。例えば、スプライス(2,0,4,6)2が4位から開始され、図6は、現在のアレイに挿入されます。
あるいは:任意の数の項目は、指定された位置に挿入することができ、そして三つのパラメータを指定することによって任意の数の項目を削除する:開始位置、アイテムの数を削除すると、任意の数の項目を挿入することを。いくつかは削除項目の数と必ずしも同じではない挿入します。例えば、スプライス(2,1,4,6)は、現在の配列位置2のエントリを削除し、その後、位置24および6から出発して挿入されます。
スプライス()メソッドは、常にすべてのエントリを削除せず、それは空の配列を返し、元の配列から削除アイテムを含む配列を返します。
[1,3,5,7,9,11] = ARRました。
= arr.splice(0.2)arrRemovedました。
console.log(ARR)。// [5、7、9、11]
console.log(arrRemoved)。// [1,3]
arrRemoved2のarr.splice =(2,0,4,6)でした。
console.log(ARR)。// [5、7、4、6、9、11]
console.log(arrRemoved2)。// []
arrRemoved3のarr.splice =(1,1,2,4-)でした。
console.log(ARR)。// [5、2、4、4、6、9、11]
console.log(arrRemoved3)。//[7]

 

9、のindexOf()和のlastIndexOf()
indexOf()は2つのパラメータを取る:アイテムを見つけて(オプション)へのインデックスの場所を見つけるための開始点を表します。その中で、配列(位置0)の先頭から後方探し始めます。
lastIndexOf:2つのパラメータを受け入れる:アイテムを見つけて(オプション)へのインデックスの場所を見つけるための開始点を表します。その中でも、配列の最後の先頭から楽しみにしています。
両方の方法は、アレイ内の項目の位置を見つけるに戻るか、場合に戻らなかった1見出さ。第1比較パラメータアレイの各々は、合同演算子を使用する場合。
[1,3,5,7,7,5,3,1] = ARRました。
console.log(arr.indexOf(5))。// 2
console.log(arr.lastIndexOf(5))。// 5
console.log(arr.indexOf(5,2))。// 2
console.log(arr.lastIndexOf(5,4))。// 2
console.log(arr.indexOf( "5")); // - 1

 

10、forEachの()
forEachの():円形配列、所定の機能を実行して、各アレイトラバース。このメソッドは、戻り値はありません。型関数のパラメータは、デフォルトのパラメータが渡されてきたが、パラメータは次のとおりコンテンツトラバースのアレイと、第一のアレイ、アレイ自体のインデックスに対応します。
ARR = [1、2、3、4、5]でした。
arr.forEach(
  関数(X、指数、A){
    console.log(X + '|' +インデックス+ '|' +(===のARR));
  }
);
//出力:
// 1 | 0 |真
// 2 | 1 |真
// 3 | 2 |真
// 4 | 3 |真
// 5 | 4 |真

 

11、マップ()
マップ():指定された機能を実行するアレイ内の各アイテムの「マッピング」とは、各関数呼び出しは、アレイの結果を返します。
次のコードは、各オペランドアレイを二乗マップ法を用いて実現されます。
ARR = [1、2、3、4、5]でした。
2 =(編曲arr.mapました
  関数(アイテム){
    項目を返す*アイテム。
  }
);
console.log(ARR2)。// [1、4、9、16、25]

 

12、(フィルタ)
フィルタ():「フィルタリング」機能、所与の機能を実行している各アレイは、そのフィルタリングされない配列を返します。
ARRた= [1、2、3、4、5、6、7、8、9、10]。
だっARR2 = arr.filter(
  関数(X、指数){
    リターン・インデックス%3 === 0 || X> = 8。
  }
);
console.log(ARR2)。// [1、4、7、8、9、10]

 

図13に示すように、すべての()
すべての():配列内の各アイテムは、trueを返します、条件はすべてのアイテムが条件を満たすようにしている場合にのみ成立するか否かを判断します。
ARR = [1、2、3、4、5]でした。
VAR ARR2 = arr.every(
  関数(X){
    X <10を返します。
  }
);
console.log(ARR2)。// truevar 
ARR3 = arr.every(
  関数(X){
    X <3を返します。
  }
);
console.log(ARR3)。//偽

 

図14に示すように、いくつかの()
いくつかの():限り条件が満たされるように、trueを返し、アレイ内の項目の条件が満たされるかどうかを決定します。
ARR = [1、2、3、4、5]でした。
VAR ARR2 = arr.some(
  関数(X){
    X <3返します;}
);
console.log(ARR2)。// truevar 
VAR ARR3 = arr.some(
  関数(X){
    X <1を返します;}
);
console.log(ARR3)。//偽
 
15、()和reduceRight()を減らします
どちらの方法は、すべての項目の反復配列を達成した後、返された最終値を構築します。配列内の最初の項目、最後のトラバースに一つずつの開始から()メソッドを減らします。配列の最後の項目からreduceRight()は、最初の項目にフォワード反復します。
マージされたベースの初期値としての機能上の呼び出し、および(オプション)の各々:両方の方法は、2つのパラメータを受け付けます。
前の値、インデックスの現在値、およびオブジェクトエントリの配列:(減少させるために渡された関数)とreduceRightは()は、4つのパラメータを受け取りました。この関数によって返された値は、自動的に最初のパラメータとして次のいずれかに渡されます。二番目の配列の最初の反復で発生するので、配列の最初の項目は、最初のパラメータは、2番目のパラメータは、配列の2番目の項目です。
次のコードは、(減らす合計の配列)、配列プラス開始10初期値を用いて実施されます。
VaRの値= [1,2,3,4,5]。
VaRの合計= values.reduceRight(
  関数(PREV、CUR、インデックス、アレイ){
    PREV + CURを返します。
  }
、10);
console.log(合計)。// 25

おすすめ

転載: www.cnblogs.com/lishixiang-007/p/11284017.html