javascript配列の概念と一般的な方法の概要

まず、JavaScriptの配列は何ですか

JavaScript配列は値の順序付けられたコレクションであり、各値は、要素または要素と呼ばれ、各要素は、インデックスまたは添字と呼ばれる数値で表さ配列内の位置を、有しています。JS型なし配列、配列要素に関係なく繰り返すことができるための、アレイまたはオブジェクトであり得る様々な要素のアレイと、任意のタイプのものであってもよいです。配列要素のインデックスは隙間があってもよい、隣接している必要はありません。各アレイは、プロパティlengrhを有し、長さは、配列要素のプロパティの数です。

第二には、JavaScriptの配列を作成する方法

1、リテラルの作成
var arr=[1,3,8,6,9];
var arr2=["a","b","c"];
2、コンストラクターが作成されます
var  arr=new Array(4,5,3,6,2,,1);
var  arr1=new Array(2,1,3,8,5,4,6);

注:は、配列コンストラクタによって配列、のみパラメータa、及びこのパラメータは正の整数であり、空要素の長さ、複数の整数の長さの新しい含む空の配列を作成する場合、それは負又は分数である場合与えられる場合、値が入力されていない場合は、ときに、他のタイプのデータは、最初の配列の要素、長さ0となる1つの。
VAR ARR1新しい新しい=の配列(5)、
(ARR1の)はconsole.log; //長さ図5は、空の配列である
; VARのARR2は、アレイは、新しい新しい(3.5)=で
はconsole.log(ARR2である); //指定された
VAR ARR3配列=新しい新規( "");
はconsole.log(ARR3 [0]); // ""
追加:索引(インデックス)番号の最大長であり、配列要素の長さの配列である1 - (要素数-1)
; ARR1 = [3,5,2,3,5,2]のVAR
VAR = ARR2は、[3,5,2,3,5,2]である;
にconsole.log(ARR1の[1]); // 5。
8 @ THは、配列の長さであるが、要素;にconsole.log(arr1.length)数
ARR1の= 2 [4];
ARR2である= 2 [-arr.length 1。];
ARR2は[arr.length] = 20であり; //配列要素20の最も端に追加で
はconsole.log(ARR2である); // [3。 、5,2,3,5,2,20]
VaRのARR = [1,2,3,4,5];
arr2.length = 3; //配列の長さ これは、変更することができます
console.log(ARR2); // [1,2,3 ] 配列となる3、すなわち要素が
arr1.length-; //配列の長さから1を引いたもの
にconsole.log(ARR1); // [3,5,2 、 3,5]、すなわち、配列の長さを1だけ減少さ
arr1.length = 0; //は、アレイ全体のクリア
にconsole.log(ARR1を); // []空要素は空の配列になります

第三に、配列の基本的な方法

図1に示すように、プッシュ()メソッド

一つ以上の要素を追加するために、アレイの端にプッシュ()、及び配列の新しい長さを返し
するvar ARR = [1,2,3,4,5,6,7,8,9,10,11]を、
使用法:ARR。プッシュ(「」、「B」);
arr.push(11); //配列の末尾に新たな要素を挿入
arr.push(11,12,25);配列の//の端部は、新たな複数の要素に挿入されます
VAR A = arr.push(6,7,8); // テイル長の新たな要素のアレイに添加することによって返さ
にconsole.log(ARR); // [1,2,3,4,5,6,7 、8,9,10,11,11,11,12,25,6,7,8] 18

2、POP()メソッド

ポップ()尾部の配列の最後の要素を除去し、除去要素戻ります
使用法:)(arr.pop; //がパラメータをポップしない、ほとんどの削除後続要素のアレイ
varが=は(arr.pop)。 //最もアレイ素子の尾削除をポップし、除去要素戻り
[1,2,3,4,5,6,7,8,9,10,11] = VARのARRを、
VAR A = ARR。 POP();
にconsole.log(ARR、A); // [1,2,3,4,5,6,7,8,9,10] 11。
サプリメント:
// arr.length-; //同等の速度より速く、それが削除さの要素を返しません
//は遅いが、削除される要素を返します。()arr.pop //

3、のtoString()メソッド

toString()文字列に配列:
VARのARR = [1,2 ,. 3 ,. 4 ,. 5];
VAR = arr.toString STR()
はconsole.log(STR)// 1,2,3,4,5-

4、join()メソッド

参加する()配列の各要素は、指定された文字列が返されたフォーム新しいに接続されている
配列を組み合わせリターン文字列、デフォルトの接続
使用します。var strの= arr.join()
の引数が文字列の結合ですコネクタ
( "|")// VAR = STR arr.joinは、
""コネクタとして、配列要素は、文字列の端と端を接合する
のvar ARR = [1,2,3,4,5];
VAR STR = arr.join( "|")
はconsole.log(STR);。。。。// 1 | 2 | 3 | 4 | 5
VAR STR1 arr.join =( "");
はconsole.log(0009); // 12345

図5に示すように、シフト()メソッド

シフトは、()配列の最初の要素を除去し、除去要素返し
使用法:arr.shiftを(); //配列の削除の最初の要素
のvar ARR = [1,2,3,4,5]。
VAR A = arr.shift(); //配列の最初の要素を削除、除去要素リターン
(ARR)にconsole.logを; // [2,3,4,5] 1

図6に示すように、抜き()メソッド

()アレイヘッド内の1つの以上の要素を追加して、配列の新しい長さを返すために抜き
使用法;新しい要素アレイ挿入//ヘッドにarr.unshift(0)
//arr.unshift(-3)。 //配列の先頭に要素を挿入
// arr.unshift(-3、-2、-1,0 ); // ヘッドアレイの複数に挿入された新しい要素
のvar ARR = [1,2,3、 4,5];
VAR arr.unshift A =(-3、-2)
にconsole.log(ARR、A); // [ - 3、-2,1,2,3,4,5] 7

7、CONCAT()メソッド

CONCAT()配列がマージされ、後で返され、新しいアレイは、二つの配列は、元の変更されない
:使用
1)は、2つの配列組み合わせ
; varが= ARR2()ARR1のarr.concatされ
、また、2)合成配列の配列に加えてです要素は、元の配列の組み合わせ複数の要素を組み合わせて、新しい配列を返しすることができる
ARR3 =(1,2,3)arr.concat VARと、
3)連結連結要素であってもよい配列マージできる
VARをARR4 = arr.concat(0 、ARR1の、[ ""、 "B"、 "C"]);
4)直接使用連結場合、配列を完成することができる複製
VAR ARR5 arr.concat =();
VARのARR = [1,2,3 、4,5];
ARR1 = [3,4、5]のVAR;
; VAR = ARR2は(ARR1の)arr.concatで
はconsole.log(ARR2である); // [1,2,3,4,5,3,4 、5]。
VAR = arr.concat ARR3(1,2,3)
にconsole.log(ARR3); // [1,2,3,4,5,1,2,3]
VAR ARR4 arr.concat(= ARR1の0、[ "A"、 "B"、 "C"])
にconsole.log(ARR4); // [1,2,3,4,5,3,4,5,0、 "A" 、 "B"、 "C" ]

8、ソート()メソッド

ソート()配列の要素をソートするために使用される
ソートは、ソート()メソッドは、配列のtoString()形質転換法の各項目、得られた文字列の比較のために呼び出されたときにソートする方法を決定します。タプル値は、並べ替えであっても()メソッドは文字列を比較することであるので、次のような場合があります:
VARのARR = [「A」、「D」、「C」、「B」] ;
にconsole.log(arr.sort()); // [ "A"、 "B"、 "C"、 "D"]
ARR1 =のは[10、15、51 ,. 9];
arr1.sort()
コンソール。ログ(ARR1); // [10 、15、51、9]
上記のコードをデジタル値に大きさ順に並べ替え見られないから、文字エンコーディングの順にソートされ、これを達成するために、それを使用する必要がありますソート関数:
VARのARR = [1,2,6,3,8,4,5];
arr.sort(関数(後者は、前){})
arr.sort(関数(A、B){
// AB上昇戻す
//戻りBAの下降
復帰ABを; //昇順
})
はconsole.log(ARR); // [1,2,3,4,5,6,8]
この数値的方法は、ためのものである
:要素が文字列である場合
のvar ARR = [ "D"、 "E"、 "B"、 "A"、 "C"、 "H"、 "J"、 "I"、「K 「];
// arr.sort();
arr.sort(関数(A、B){
//戻りa.charCodeAt(0)-b.charCodeAt(0); //昇順
リターンb.charCodeAt(0)-a.charCodeAt(0 ); // 下降
})
はconsole.log(ARR); // [ "K"、 "J"、 "I"、 "H"、 "E"、 "D"、 "C"、 "B"、「A 「]

図9に示すように、スライス()メソッド

配列の内容をコピーするための指定された場所のスライス()傍受、アレイは、元の変更されない
使用:arr.slice(どの位置の前にどの位置(添字)及び端から)
注:のみフロント傍受バック、第二のパラメータは、2つのパラメータは、空の配列やデジタル複写が0である場合には、2つのパラメータは、空の配列0にコピーされ、唯一の切片はにコピーされた値から値を表し、尾のデフォルトを傍受するために、書き込みません尾部は、開始位置から採取された値である場合、負の相互
のvar ARR = [1,2,3,4,5,6,7];
ARR1 =のVaRのarr.slice(1,4)、
(ARR1の)はconsole.log。 // [2,3,4]
//コピー配列; // = ARR2はarr.sliceのVAR()である
// VAR ARR2 = arr.slice(0) ; // コピーアレイ
// VAR ARR2 = arr.slice(0 、0); //コピー空の配列
VAR ARR3 = arr.slice(3); // 第3コピーの尾から採取
にconsole.log(ARR3)// [4,5,6,7]
VAR = ARR4 arr.slice(-2); //最後から2番目の位置の複製の開始から終了まで取ら
//[6.7]にconsole.log(ARR4)
VAR ARR5 arr.slice =(-3、-1); //最後から二番目の最後から二番目の1コピーへ3
にconsole.log(ARR5); // [5,6 ]

10、スプライス()メソッド

新しいアレイスプライス()このメソッドは、要素の所与の数で指定された場所から除去し、この位置で必要な要素を挿入し、戻って成る除去要素とすることができる
使用法:arr.spliceは(削除どのように多くのどの位置から始まります要素、インサートの要素);
注:
1)いずれかの引数が存在しない場合は、空の配列を返し
2)最初のパラメータは削除手段号0、満たしていない番号を削除するための第2のパラメータから開始することを示す、0を最後に、配列の機能的コピーを達成するために、新しい配列にすべてのデータを転送しようとしています。
3)いくつかの開始の最初から尾除去ので、削除する番号を与えなかったので、背面から前面(カウントダウン)に負の数とすることができる
配列の0番目のビットから開始)4を、要素を削除し、この中に挿入要素の-1位、交換
5)第二のアレイを起動するには複数の要素に置き換えられる
アレイ-1の2番目の要素に挿入されている)6
VaRのARR = [1,2,3,4,5]。
VAR ARR1 = arr.splice(); //何かパラメータ
にconsole.log(ARR1); //は空の配列を返しませ
VAR ARR2 = arr.splice(0); // 新しい配列、配列の複製へのすべてのデータ転送
コンソールを。ログ(ARR2である); // [1,2,3,4,5]
VAR arr.splice ARR3 =(0,3); //新しい配列への復帰最初の3つの要素0からビットを除去開始
にconsole.log( ARR3); // [1,2,3]
VAR ARR4 arr4.splice =(-2); //削除さがあるので、いくつかは、負、前方へ後方から数(逆数)の数とすることができるから始まります、尾を取り除くので、
console.log(ARR4); //は[4,5]
VAR ARR5 arr.splice =(0,1、-1); //は、アレイ0の最初のビットで始まり、この位置で要素を削除して挿入します交換-1の要素、
にconsole.log(ARR5を); // [1]
arr.splice(-1,1,0); //最後置換ビット列0
にconsole.log(ARR); // [1。 、2 ,. 3 ,. 4,0]
arr.splice(2,2,1,2); //開始二番目の配列は、二つの要素1,2で置換されている
にconsole.log(ARR); // [1。 、2 ,. 1,2 ,. 5]
arr.splice(2,0、-1、-2、-3、-4);二番目の配列要素に//ビット挿入-1、-2、-3、 -4
にconsole.log(ARR); // [1、2、-1、-2、-3、-4、。3 ,. 4 ,. 5。]

11、のindexOf()メソッド

indexOf()は、配列(位置0)の先頭から後方を見て開始します。
使用方法:のindexOf(要素も、クエリにどのような位置開始から問い合わせをしたい)の位置が下付きで
のV
VAR ARR = [1,2,3,4,5,6]
VAR指数= arr.indexOf(4); //配列後部検索要素の前に4、見つかった場合、それは-1を返し、見つからない場合は、インデックス要素は、配置されている戻り
にconsole.log(インデックス); //戻り添字3。
VaRのインデックス1、arr.indexOf =を(9。 );
にconsole.log(index1の); // - 1
注:オブジェクト、異なるアドレスとして配列の要素、見つけることができません

12、のlastIndexOf()メソッド

lastIndexOf()は、配列の先読みの端から始まり
使用方法:のlastIndexOf(あなたが見つけるために始めて、利用可能な要素を、検索)
するvar ARR = [1,3,1,2,3,5,2,3,4,6];
VAR指数= arr.lastIndexOf(3); //はアレイ3の背面からの要素を見つけ、見つかった場合、見つからない場合は要素が配置されているインデックスを返し、それは-1を返す
はconsole.log(インデックス) ; //戻り添字7。
VAR = index1の、arr.lastIndexOf(100)
にconsole.log(index1の、); // - 1

13、forEachの()メソッド

配列、所定の機能を実行して各アレイを横断するのforEach()ループ。このメソッドは、戻り値はありません。型関数パラメータはデフォルトパラメータが渡されているが、パラメータは次のとおりコンテンツトラバースのアレイと、第一のアレイ、アレイ自体のインデックスに対応します。
用法:
arr.forEach(関数(素子アレイ、インデックスに対応する各要素、アレイ自体){
})
合計:
VaRのARR = [1,2,3,5,6,7,8,9] ;
VARのSUM = 0;
arr.forEach(関数(項目){//アイテムのプレゼンテーションエレメント
SUM + =項目;
})
// 41であり;にconsole.log(SUM)
注:空の要素は、省略することができforEachの使用
記録素子を//空の要素を除く標準、
VaRのARR = [1,2,3,5,6,7,8,9];
arr.forEach(関数(項目、インデックス){//アイテム、および下付き文字インデックスは、要素の表現
コンソール。ログ(項目、インデックス); //プリント要素及び添字すなわち、空の要素を印刷しない
})
//配列をコピーし、ヌル因子を除いた
VARのARRを= [2,4,6,8,3,2];
ARR1のVAR = [];
arr.forEach(関数(項目、インデックス){
ARR1の[インデックス] =項目;
})
console.log(ARR1)。// [2,4,6,8,3,2]

14、マップ()メソッド

ループスルーアレイのマップ()、この方法は、新しい配列が長さに等しいの元の配列に戻され、戻り値を有する
使用法:
arr.map(関数(素子アレイ、インデックスに対応する各要素、アレイ自体) {
})
新しい配列を返し
VARのARRを= [3,5,7,9,1,2,4];
VAR = ARR2 arr.map(関数(項目){// Item要素を表す
//マップで使用されるリターン対応する対応する索引データに追加される
戻り項目+ 10; //アイテムの戻り値
});
はconsole.log(ARR2である); // [13,1,17,19,11,12,14]

図15に示すように、いくつかの()メソッド

いくつかの()それは真、偽を返した場合でない場合は、条件を満たすために、配列内の要素があるかどうかを調べるには
条件が逆方向にトラバースしていきませんが、直接、trueを返します満たしている要素がある場合は、アレイを介し同時に
使用:
ARRを。いくつかの(関数(素子アレイ、インデックスに対応する各要素、アレイ自体){
})
VaRのARR = [1,4,6,9,0];
VAR = BOOL arr.some(関数(項目、インデックス、ARR){
戻り項目> 5;
});
にconsole.log(BOOL); // trueに

16、すべての()メソッド

すべての()は、各条件が満たされているかどうかを決定する際の条件は、直接的に、そうでなければ全て満たす満たされない場合、アレイトゥーレを返す
使用:arr.every(関数(配列の要素、各要素を対応しますインデックス、アレイ自体){
})
VaRのARR = [1,1,4,6,2,7];
VAR = BOOL arr.every(関数(項目、指標、ARR){
戻りアイテム> 2;
});
console.log(ブール値); // falseを

17、フィルタ()メソッド

フィルタは、()配列返さにおける新しい要素としての条件を満たし、すべての要素の決意である
使用法:arr.filter(関数(素子アレイ、インデックスに対応する各要素、アレイ自体){
復帰条件
}) ;
場合:要件は5つのリターンの新しいアレイに配列よりも大きい
最初の思考マップだけ元のマップと新しい配列と同じ長さを達成することができる
配列のスクリーニング条件を満足した結果
VaRのARRを= [1,1,4,6を、2,7];
VAR = arr.filter ARR1の(関数(項目、指標、ARR){
戻り項目> 5;
});
(ARR1の)はconsole.log; // [67]

18、()メソッドを減らします

、0が横断されていない、アレイを横断からインデックス開始ビットの1ビット:()関数呼び出しが戻るすべての要素、戻り値の最終結果、関数の値が通過しなければならないタイプを減らします。ここで、各値が未定義の背後のアレイ次トラバースの値に戻り値を返す関数で使用される場合に開始値は、0アレイである
アレイは.reduce(コールバック関数(累積値、要素、インデックス、アレイ){}、初期値)
1)、何の初期値は、アレイ内の0要素の累積値、添え字1開始からトラバース減らすない場合
設定初期値、積算値を減少させる場合、2)この初期値から出発してトラバーサルインデックス0から開始する
使用:
arr.reduce(関数(素子アレイ、インデックスに対応する各要素、アレイ自体は){
})
配列要素の和蓄積する
。//注意:戻りの値のうちの最後の戻りにトラバースされる値減らす
; VARのARR = [10,3,4,7,3,5,8,9]
VaRのarr.reduce = SUM(関数(値、アイテム){
戻り値+アイテム;
});
にconsole.log(SUM); // 49の
合計ベース100の前提、100の初期値であり
、VARのARR = [10,3,4,7,3,5 8、9]であり;
VARのarr.reduce = SUM(関数(値、項目){
戻り値+アイテム;
}、100)。
console.log(合計)。// 149

19、Array.isArray()メソッド

Array.isArray()がtrueの場合そうでない場合はfalseに配列を返し、ブール値を返し、オブジェクトが配列であるか否かを判断する
。VARのARR = [1,2,3,4]
VAR {A OBJ = :. 1};
VARのA 1 =;
はconsole.log(Array.isArray(ARR)); // trueに
はconsole.log(Array.isArray(OBJ)); // falseに
はconsole.log(Array.isArray(A)); // falseに

リリース7件のオリジナルの記事 ウォンの賞賛2 ビュー113

おすすめ

転載: blog.csdn.net/weixin_44208755/article/details/105176008