ホームページ  >  記事  >  ウェブフロントエンド  >  配列の一般的な JavaScript オペレーション コード 配列メソッドのまとめ_JavaScript スキル

配列の一般的な JavaScript オペレーション コード 配列メソッドのまとめ_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:11:31846ブラウズ
1. シフト: 元の配列の最初の項目を削除し、配列が空の場合は削除された要素の値を返します。
var a = [1,2,3,4, 5];
var b = a.shift(); //a: [2,3,4,5] b: 1
2. 元の配列の先頭にパラメータを追加します。配列の長さを返します
var a = [1,2,3,4,5]
var b = a.unshift(-2,-1); //a: -2,-1,1 ,2,3,4,5] b: 7
注: IE6.0 でのテスト戻り値は常に未定義であり、FF2.0 でのテスト戻り値は 7 であるため、このメソッドの戻り値は信頼できないため、使用する必要があります。値を返す場合、このメソッドの代わりに splice を使用できます。
3. ポップ: 元の配列の最後の項目を削除し、削除された要素の値を返します。配列が空の場合は、未定義の
var a = [1,2, 3,4,5 ];
var b = a.pop(); //a: [1,2,3,4] b: 5
4. パラメータを最後に追加します。元の配列の長さを返します
var a = [1,2,3,4,5]
var b = a.push(6,7); : [1,2,3, 4,5,6,7] b: 7
5. concat: 元の配列
にパラメーターを追加することによって形成された新しい配列を返します。 var a = [1,2, 3,4,5];
var b = a.concat(6,7) //a:[1,2,3,4,5] b:[1, 2,3,4,5, 6,7]
6. splice(start,deleteCount,val1,val2,...): deleteCount 項目を開始位置から削除し、val1, val2, を挿入します。 ..
var a = [1,2,3,4,5]
var b = a.splice(2,2,7,8,9); //a: [1] ,2,7 ,8,9,5] b:[3,4]
var b = a.splice(0,1) //shift
a.splice(0,0,-)と同じ; 2,-1) ; var b = a.length; //unshift と同じ
var b = a.splice(a.length-1,1); //pop
a.splice(a) と同じ.length,0,6, 7); var b = a.length; //push
7 と同じ。reverse: 配列
var a = [1, 2,3,4,5];
var b = a.reverse(); //a: [5,4,3,2,1] b: [5,4,3,2,1] 🎜>
8. sort(orderfunction ): 指定されたパラメーターに従って配列を並べ替えます
var a = [1,2,3,4,5]; (); //a: [1, 2,3,4,5] b: [1,2,3,4,5]

9. 指定された開始を返します。インデックスから元の配列の終了インデックスまで。
var a = [1,2,3,4,5]; var b = a.slice(2, 5); //a: [1, 2,3,4,5] b: [3,4,5]
10. join(separator): 配列の要素を文字列に結合します。区切り文字として separator を使用します。省略した場合は、区切り文字としてカンマが使用されます。

var a = [1,2,3,4,5]; |"); //a: [1,2 ,3,4,5] b: "1|2|3|4|5" 配列は JavaScript によって提供される内部オブジェクトであり、標準のコレクションです。追加 (プッシュ) と削除 (シフト) ができます。for ループを通じて内部の要素をトラバースすることもできるので、JavaScript では配列以外にも他のコレクションを使用できますか?
JavaScript の言語機能により、動的に追加できます。一般オブジェクトの属性を削除します。したがって、Object は JS の特別なコレクションとみなすこともできます。配列とオブジェクトの特性を比較してみましょう:
配列:
新規: var ary = new Array(); または var ary = [];
追加: ary.push(value); :delete ary[n];
トラバーサル: for ( var i=0 ; i < ary.length ; i ) ary[i];
オブジェクト:
New: var obj = new Object() ; または var obj = {};
追加: obj[key] = 値; (キーは文字列)
削除: obj[key]; のトラバース: ( var key in obj ) key];
上記の比較から、ポップアップ ウィンドウを使用して無限の Web ページ メニューを作成する際 (3)、Eric によって実装された __MenuCache__ を導入しました。 a モック化されたコレクション オブジェクト。
配列内の指定された値を取得したい場合は、配列全体を走査する必要があります:
コード:




コードをコピー

コードは次のとおりです: var キーワード = ; for ( var i=0 ; i < ary.length ; i ) { if ( ary[i ] == キーワード )
{
// todo
}
}


Object で指定されたキーを持つエントリを取得するには、以下を行うだけです。 use :
コード:



コードをコピー

コードは次のとおりです: var キー= ''; var value = obj[key] // todo ;
オブジェクトのこの機能を使用すると、一意の文字列コレクションを効率的に取得できます。配列の走査時間は O(n) ですが、オブジェクトの走査時間は O(1) です。 10,000 件のコレクションの取得コストはわずか数十ミリ秒ですが、1,000*1,000 件以上の取得となると、Object を使用する利点がすぐにわかります。その前に、100 個の一意の文字を 1000 個の文字列配列にマッピングするマッピングを実行しました。これには 25 ~ 30 秒かかりました。その後、 for traversal をオブジェクトのシミュレートされたコレクションのメンバー参照に変更すると、同じ量のデータがマッピングされました。所要時間はわずか 1.7 ~ 2 秒です!!!
コレクションの走査効率 (高から低): var value = obj[key] > for ( in )。最も効率が低いのは for(in) です。コレクションが大きすぎる場合は、for(in) を使用しないでください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。