JavaScriptの配列(二)
2224 ワード
JavaScriptでは、多くの配列方法が予め定義されており、これらの方法は、いずれの配列でもAray.prototypeに定義されています.いくつかの一般的な方法を紹介します.加入・削除 シフト()unshift()を配列ヘッドから追加または削除し、配列ヘッドの要素を削除し、この要素unshift()を返すと、複数のパラメータが受け入れられ、配列ヘッドに複数の要素が加わることを示します.なお、unshiftはこれらの要素を順次加入するのではなく、一度にこれらの要素を追加 配列の末尾からPush()pop()とshift()のメソッドが似ているpop()を削除し、この要素push()を返します.配列の末尾に複数の要素を加えて、新しい長さを返します. 共通方法splice()splice()方法は、配列の任意の同じ位置に要素を挿入または削除することができます.splice法の最初のパラメータは挿入または削除の位置を定めた.このパラメータが負の場合、配列の最後の要素に対する位置を表します.このパラメータが長さより大きい場合、配列の長さに設定されます.第二のパラメータは、要素の個数を削除する必要があります.このパラメータが省略されたり、残りの要素の個数より大きい場合、残りの要素は全部削除されます.以降のパラメータは、追加が必要な要素を表します.splice法は、削除された要素からなる配列を返します.要素が削除されていない場合は、空の配列を返します. 複数の配列cancat()cancat()を統合する方法は、この方法自体の配列と各パラメータを順次接続して呼び出し、新しい配列の一番の結果を返します.いくつか注意すべき点があります. 任意のパラメータが配列である場合、この方法は配列の要素であり、配列自体ではない.この方法は平準化配列中の配列要素に再帰されません. この方法は元の配列を変えない! 2つの配列をpush方法で結合することもできます.アーラy.prototype.push.appy(a,b)結合された配列はaに格納され、新しい配列は生成されません.この方法は前の方法よりメモリを節約します. 要素並び替えsort()jsの並び方は他の言語と似ていますが、一つの比較関数をパラメータとしてもいいです. この方法は元の配列を変える! 倒順reverse()は名前の通り配列中の要素を逆順にする方法です. この方法は元の配列を変える! 配列中の要素を文字列に順次綴り付ける.ジョイン()メソッドは、スティッチングのコネクタを表すオプションのパラメータを受け入れる.デフォルトのコネクタはカンマ'、' サブアレイslice()方法は、1つの配列のサブアレイ(部分配列)を取得するために使用されます.この方法は2つのパラメータを受け入れる.開始位置と終了まで.この方法はサブアレイを返します.いくつかの注意点があります. 開始位置が指定されていない場合、デフォルトは0から 終了位置が指定されていない場合は、デフォルトは配列の終端になります. 終了位置の要素を含まない パラメータに負があれば、spliceと同様に、尾要素に対する位置を表します. この方法は元の配列を変えない!
var a=[1,2]; a.unshift(3,4); console.log (a) // [3,4,1,2] [4,3,1,2]
unshiftを新たな配列の長さvar a=[1,2]; var res=a.concat(3,[4,5],[[6,7],8]); console.log(res); // [1,2,3,4,5,[6,7],8]
function compareFunction(a,b){ // , 。 if ( a b ) return -1; if ( a b ) return 1; if (a==b) return 0; }
比較関数がない場合、配列要素は文字列の並べ替え規則に従って並べ替えられます.var a=[2,1,10,21]; a.sort(); console.log(a); // [1,10,2,21] [1,2,10,21]
var a=[1,2,3]; console.log(a.slice()); //[1,2,3] console.log(a.slice(1)); //[2,3] console.log(a.slice(0,1)); //[1] console.log(a.slice(-1)); // [3] console.log(a.slice(-2,-1)); //[2]
以上がes 3で定義されている配列方法です.次に、es 5で新たに定義された方法を説明します.