jQuery配列応用大全

2819 ワード

1. $.each(array,[callback])遍歴
[共通]
説明:
例遍jQueryオブジェクトの$とは異なる.each()メソッドは、任意のオブジェクト(配列だけではないよ~)を例に挙げるために使用することができる.コールバック関数には、2つのパラメータがあります.1つ目はオブジェクトのメンバーまたは配列のインデックスで、2つ目は対応する変数または内容です.eachループを終了する必要がある場合、コールバック関数はfalseに戻るが、他の戻り値は無視される.
eachは遍歴して、すべてよく知らないと信じて、普通の事件の処理の中で、for循環の変体で、しかしfor循環より強いです.配列では、配列インデックスと対応する値を簡単に取得することができる.例:
 
var _other=['evenbing','csdn','cnblogs','asp.net','jquery']; //        ,   
$.each(_other,function(key,val){
	//         ,        ,       
	alert('_other    ,   : '+key+'      : '+val);
});

原生のforに対して..in、eachはもっと強いです.for..in配列を巡回し、対応するインデックスを返すこともできますが、arrName[key]で値を取得する必要があります.
2. $.grep(array,callback,[invert])フィルタ配列[常用]解釈:フィルタ関数を用いて配列要素をフィルタする.この関数は少なくとも2つのパラメータ(3番目のパラメータはtrueまたはfalseであり、フィルタ関数の戻り値を逆にし、個人的には役に立たないと思う):フィルタ対象配列とフィルタ関数である.フィルタ関数はtrueを返して要素またはfalseを保持して要素を削除する必要があります.また、フィルタ関数は、1つの文字列に設定することもできます(個人的には推奨されませんが、自分でヘルプドキュメントを参照することを知りたい場合は).
$.grep(_other,function(val,key){
	//         ,        ,        
	if(val=='evenbing'){
		alert('     evenbing     : '+key);
	}
});

var _otherGrep1=$.grep(_other,function(val,key){
	return key>1;
});
alert('_other        1    : '+_otherGrep1);

var _otherGrep2=$.grep(_other,function(val,key){
	return key>1;
},true);
//            ,            
alert('_other          1    : '+_otherGrep2);

3. $.map(array,[callback])所定の条件で配列を変換
[一般]
説明:
パラメータとしての変換関数は配列要素ごとに呼び出す、変換された要素をパラメータとして渡す.変換関数は、変換後の値、null(配列内のアイテムを削除)、または値を含む配列を返し、元の配列に拡張します.
これは強力な方法ですが、あまり使いません.特定の条件に基づいて配列要素の値を更新したり、元の値に基づいて新しいコピー要素を拡張したりすることができます.
4 .$.inArray(val,array)の判定値が配列中に存在するか否か[共通]の解釈:最初のパラメータの配列中の位置を決定し、0からカウントを開始する(見つからない場合は-1を返す).indexOf()メソッドを覚えていますか?indexOf()は、$を返す文字列の最初の出現位置を返す.InArray()は、入力パラメータの配列内の位置を返し、同様に、見つかった場合は0以上の値を返し、見つからない場合は-1を返す.今、使い方がわかったでしょう.これにより、ある値が配列中に存在するか否かを判断することが容易になる.
5 .$.merge(first,second)は2つの配列を結合する[一般]解釈:返された結果は1つ目の配列の内容を修正する--1つ目の配列の要素の後ろに2つ目の配列の要素が続く.この方法は,元のconcat()メソッドの代わりにjQueryのメソッドを用いるが,機能はconcat()ほど強くなく,concat()は複数の配列を同時に統合することができる.
6 .$.Unique(array)フィルタ配列中の重複要素[非常用]解釈:配列中の重複要素を削除する.DOM要素の配列を削除するだけで、文字列や数字の配列を処理することはできない.初めてこの方法を見て、これはとても便利な方法だと思って、繰り返しを濾過することができて、ハ、どんなに完璧ですが、よく見ると、DOM要素を処理するだけです.機能が8割引になりました.だから、私はそれをあまり使わない要素として定義しました.少なくとも、jQueryを使って以来使ったことがありません.
7. $.makeArray(obj)はクラス配列オブジェクトを配列に変換する[非常用]解釈:クラス配列オブジェクトを配列オブジェクトに変換し、クラス配列オブジェクトにはlength属性があり、そのメンバーインデックスは0からlength-1である.これは余計な方法で、何でもできる$はもともとこの機能を含んでいます.jQueryの公式サイトでは説明があいまいです.実際には、getElementsByTagNameで取得した要素オブジェクトのセットなどのクラス配列オブジェクトを配列オブジェクトに変換します.
8. $(dom).toArray()はすべてのDOM要素を配列に復元する[一般的ではない]解釈:jQuery集合のすべてのDOM要素を1つの配列に復元する;あまり使われない方法で、個人的には$と感じています.makeArrayのように余計だ.