配列タイプは、ECMAScriptで最も一般的に使用される参照タイプです。 ECMAScriptのデータは、他のほとんどの言語の配列とはまったく異なります。 ECMaScriptのデータは、他の言語の配列などのデータの順序付けられたリストですが、違いは、ecMascriptアレイ内の各アイテムが数値、文字列、またはオブジェクトであろうと、あらゆるタイプのデータを保持できることです。同時に、ECMAScriptのアレイサイズを動的に調整できます。つまり、データの追加に従って新しく追加されたデータに対応するために自動的に成長することができます。以下は、JavaScriptの一般的に使用される操作関数と配列の使用の要約です。
•配列を作成します
次のように、配列を作成する主な方法が2つあります。
var arr = new array(); var arr = [];
コンストラクターの場合、次のように、指定された項数を含む配列を作成するために数値を渡すことができます。
var arr = new Array(3); //配列の長さは3です
次のように、配列に保存されている値を直接渡すこともできます。
var arr = new array( "red"、 "green"、 "blue");
いずれにせよ、配列リテラルを使用して配列を作成することをお勧めします。
•検出配列
単一のグローバル実行環境の場合、オペレーターのインスタンスは、それが配列であるかどうかを検出できます。
var arr = [1,2,3]; console.log(arr instanceof array); //真実
ただし、Webページに複数のフレームワークが含まれている場合、複数のグローバル実行環境も含まれます。 ES5は、次のように、どのグローバル実行環境が作成されたかに関係なく、次のように、値が配列であるかどうかを判断するArray.isarray()メソッドを追加しました。
if(array.isarray(arr)){//いくつかの操作を実行}•配列文字列変換
各オブジェクトには、tolocalestring()、toString()、およびvalueof()メソッドがあります。アレイのtoString()メソッドを呼び出すと、配列内の各値の文字列の形でスプライスされた文字列が返され、コンマで分離されます。配列のvalueof()メソッドを呼び出すと、配列が返されますが、実際には、次のように、配列内の各アイテムのtoString()メソッドと呼ばれます。
var arr = ["red"、 "green"、 "blue"]; console.log(arr.tostring()); //赤、緑、青console.log(arr.valueof()); //赤、緑、青いコンソール.log(arr); //赤、緑、青
配列のtolocalestring()メソッドは、Array内の各アイテムのtolocalestring()メソッドを呼び出し、各アイテムTolocalestring()メソッドの戻り値をCommasで区切る文字列にスプライスするToString()とは異なります。 Join()メソッドを使用して、次のように、この文字列を構築するために異なるセパレータを使用できます。
var arr = ["red"、 "green"、 "blue"]; console.log(arr.join( "、")); //赤、緑、青いコンソール.log(arr.join( "||")); //赤||緑||青
•配列を追加および削除します
push()メソッドは、任意の数のパラメーターを受信し、配列の最後に1つずつ追加し、修正された配列の長さを返します。
var arr = [1,2,3]; arr.push(4,5); console.log(arr); // [1,2,3,4,5]
Push()とは対照的に、POP()メソッドであり、アレイの端から最後のアイテムを削除し、削除されたアイテムを返します。たとえば
var arr = [1,2,3]; arr.pop(); // 3 arr.pop(); // 2 Console.log(arr); // [1]
使用される他の2つの方法は、shift()とunshift()であり、pop()とpush()に似ています。 Shift()メソッドは、配列の開始位置からアイテムを削除し、削除されたアイテムを返すために使用されます。
var arr = [1,2,3]; arr.shift(); // 1 arr.shift(); // 2 Console.log(arr); // [3]
unshift()メソッドは、Shift()目的の反対です。任意のアイテムをアレイのフロントエンドに追加し、新しい配列の長さを返すことができます。
var arr = [1,2,3]; arr.unshift(4); //戻り長さ4 arr.unshift(5); // return length 5 console.log(arr); // [1,2,3,4,5]
•アレイのフリップとソート
配列によって提供されるフリップメソッドは逆()であり、これにより、データ項目の順序が反転します。たとえば、:
var arr = [1,2,3]; arr.Reverse(); console.log(arr); // [3,2,1]
sort()は配列をソートすることもできますが、デフォルトのソートメソッドはサイズではありませんが、対応する文字列に応じて1つずつソートされます。 sort()メソッドは、比較関数を受信し、カスタムソートを実行できます。たとえば、:
関数比較(value1、value2){return value1-value2; } var arr = [1,3,2,5,4]; arr.sort(比較); console.log(arr); // [1,2,3,4,5]•配列接続
concat()メソッドは、現在の配列のコピーを作成し、受信したパラメーターをコピーの最後に追加し、最後に新しく構築された配列を返します。たとえば、元の配列を変更しません。
var arr = [1,2,3]; var arr2 = arr.concat(4、[5,6]); console.log(arr); // [1,2,3] console.log(arr2); // [1,2,3,4,5,6]
•配列セグメンテーション
Slice()メソッドは、1つまたは2つのパラメーター、つまり、返されるアイテムの開始位置と終了位置を受信します。 1つのパラメーターのみが必要な場合、指定された位置から配列の端までのすべてのアイテムが返されます。 2つのパラメーターが受信された場合、開始位置と終了位置の間のすべてのアイテムが返されますが、エンドポジションを含まないアイテム、たとえば:
var arr = [1,2,3,4,5]; var arr2 = arr.slice(1); // [2,3,4,5] var arr3 = arr.slice(1,3); // [2,3]
Slice()メソッドは元の配列に影響しないことに注意してください。
•Splice()メソッド
Splice()メソッドは非常に強力なので、個別に要約します。 3つのパラメーターを受信できます。最初のパラメーターは、アイテムの追加または削除の位置を示し、2番目のパラメーターは削除するアイテムの数を示し、2番目のパラメーターはアレイに追加された新しいアイテム(オプション)を示します。さまざまなパラメーターを提供することにより、次のような削除、挿入、交換などの関数を実現できます。
var arr = [1,2,3,4,5]; arr.splice(2,0,11,22); //位置2から2つのアイテム、Console.log(arr)を挿入します。 // [1,2,11,22,3,4,5] arr.splice(2,2,33,44); //位置2から2つのアイテムを削除し、2つのアイテムを挿入し、削除されたアイテムコンソールを返します。log(arr); // [1,2,33,44,4,5] arr.splice(1,1); //位置1から1つのアイテムを削除し、削除されたアイテムConsole.log(arr)を返します。 // [1,33,44,4,5]
•配列位置法
ES5は、indexof()とlastIndexof()の2つの位置方法を提供します。どちらの方法も、見つけるべきアイテムと、検索開始点の位置を示すインデックス(オプション)の2つのパラメーターを受け取ります。 indexof()メソッドは、配列の先頭から後方に見えますが、lastIndexof()は配列の最後から楽しみにしています。
var arr = [1,2,3,4,5,4,3,2,1]; console.log(arr.indexof(4)); // 3 Console.log(arr.lastindexof(4)); // 5 console.log(arr.indexof(4,4)); // 5 console.log(arr.lastindexof(4,4)); // 3
•アレイの反復方法
ES5は5つの反復方法を定義し、それぞれが2つのパラメーターを受信します。各アイテムで実行する関数と(オプション)関数を実行するスコープオブジェクト - これに影響する値。これらのメソッドを渡す関数は、配列アイテムの値、配列内のアイテムのインデックス、および配列オブジェクト自体の3つのパラメーターを受信できます。
その中で、すべての()メソッドと一部の()メソッドは類似しています。すべての()メソッドの場合、このメソッドがtrueを返す前に、渡された関数は各項目のtrueを返す必要があります。一部の()の場合、通過した関数が配列内の任意のアイテムに対してtrueを返す限り、メソッドはtrueを返します。例は次のとおりです。
var arr = [1,2,3,4,5,4,3,2,1]; var EveryResult = arr.every(function(item、index、array){return(item> 2);}); console.log(EveryResult); // false、2を超えているわけではありませんsomeresult = arr.some(function(item、index、array){return(item> 2);}); console.log(someresult); // true、1つのアイテムが2を超える場合フィルター()メソッドは、特定の関数に基づいて返された配列にアイテムを含めるかどうか、たとえば次のように決定します。
var arr = [1,2,3,4,5,4,3,2,1]; var filterResult = arr.filter(function(item、index、array){return(item> 2);}); console.log(filterResult); // [3,4,5,4,3]、すべての値が2を超える配列を返しますMAP()メソッドは、配列内の各アイテムの指定された関数を実行し、たとえば次のように各アイテム関数の結果で構成される配列を返します。
var arr = [1,2,3,4,5,4,3,2,1]; var mapresult = arr.map(function(item、index、array){return item*2;}); console.log(mapresult); // [2,4,6,8,10,8,6,4,2]、元の配列の各アイテムに2を掛けて返します最後の方法はforeach()です。これは、返品値なしで、配列内の各アイテムでのみ指定された関数のみを実行します。たとえば
var arr = [1,2,3,4,5,4,3,2,1]; arr.foreach(function(item、index、array){//操作を実行});•配列削減方法
ES5は、Arrayを削減する2つの方法を提供します:Reduce()とReduceright()。どちらの方法も配列内のすべてのアイテムを反復し、最終値を返します。 reduce()は、最初のアイテムから最後のアイテムまで徐々に横断し、reduceright()は最後のアイテムから最初のアイテムの最後までトラバースします。両方の関数は、前の値、現在の値、アイテムのインデックス、および配列オブジェクトの4つのパラメーターを受け取ります。この関数によって返される値は、最初のパラメーターとして次のアイテムに自動的に渡されます。たとえば、redoce()メソッドを使用して、配列内のすべてのアイテムの合計を見つけます。
var arr = [1,2,3,4,5]; var sum = arr.reduce(function(pre、cur、index、array){pre+cur;}); console.log(sum); // 15コールバック関数が初めて実行されたとき、preは1、curは2です。2回目、preは3(1+2)、curは3です。このプロセスは、配列内のすべてのアイテムにアクセスし、最終的に結果を返します。 Reduceright()メソッドはdecust()に似ていますが、方向は逆です。
このメモは、主に高度なJavaScriptプログラミングとオンラインリソースに基づいて要約されています。不完全なポイントがある場合は、指摘してください。
上記の記事は、JavaScriptアレイアレイメソッド(初心者向けの必読)に基づいています。私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。