jquery基礎教程の配列は詳しく説明します。

4540 ワード

1.$each(array、[calback])遍歴[常用]
例のjQueryオブジェクトに対して$().each()とは違って、この方法はどのオブジェクトにも例えられます。コールバック関数は、2つのパラメータを持っています。最初のオブジェクトのメンバまたは配列のインデックス、2番目の変数または内容に対応しています。eachループを終了する必要があれば、コールバック関数をfalseに返すことができます。他の戻り値は無視されます。
eachは遍歴して、すべてよく知らないことを信じて、普通の事件の処理の中で、for循環の変体で、しかしfor循環より強大です。配列では、配列インデックスと対応する値を簡単に攻略できます。例:

var _mozi=[' ',' ',' ',' ',' ']; // ,  
$.each(_mozi,function(key,val){ 
    // , ,  
    alert('_mozi , : '+key+' : '+val); 
});
オリジナルのfor.inに対して、eachの方が強いです。for.inは配列を巡回して対応するインデックスを返すこともできますが、値はarrName[key]で取得する必要があります。
2.$grep(array、calback、[invert])フィルタ配列[常用]
フィルタ関数を使って配列要素をフィルタリングします。この関数は少なくとも2つのパラメータを伝達します。(3番目のパラメータはtrueまたはfalseで、フィルタ関数に逆の値を返します。個人的にはあまり効果がないと思います。):フィルタリング行列とフィルタ関数は要素またはfalseを残して要素を削除するためにtrueに返さなければなりません。また、フィルタ関数は文字列に設定することができます。

$.grep(_mozi,function(val,key){ 
    // , ,  
    if(val==' '){ 
        alert(' : '+key); 
    } 
}); 

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

var _moziLt1=$.grep(_mozi,function(val,key){ 
    return key>1; 
},true); 
// ,  
alert('_mozi 1 : '+_moziLt1);
3.$map(array、[calback])は、所定の条件で配列[一般]を変換します。
パラメータとしての変換関数は、各配列要素に対して呼び出され、変換された要素をパラメータとして伝達します。変換関数は、変換された値、null(配列内の項目を削除)または値を含む配列を返して元の配列に拡張します。
これは強力な方法ですが、一般的ではありません。配列要素値を特定の条件に基づいて更新したり、元の値に基づいて新しいレプリカ要素を拡張したりできます。

var _mapArrA=$.map(_mozi,function(val){ 
    return val+'[ ]'; 
}); 
var _mapArrB=$.map(_mozi,function(val){ 
    return val==' ' ? '[ ]'+val : val; 
}); 
var _mapArrC=$.map(_mozi,function(val){ 
    //  
    return [val,(val+'[ ]')]; 
}); 
alert(' \'[ ]\' : '+ _mapArrA); 
alert(' : '+ _mapArrB); 
alert(' , \'[ ]\' , '+_mapArrC);
4.$inAray(val,array)判定値が配列内に存在するかどうか[常用]
最初のパラメータの配列内の位置を決定し、0から数え始めます。見つからない場合は-1を返します。
indexOfの方法を覚えていますか?indexOfは文字列の最初の出現位置を返します。また、$inarry()は着信パラメータの配列中の位置を返します。同じように、見つけられたら、0以上の値を返します。見つけられなければ-1を返します。今はどうやって使うか分かります。ある値が配列中にあるかどうかを判断すると、簡単になります。

var _exist=$.inArray(' ',_mozi); 
var _inexistence=$.inArray(' ',_mozi) 
if(_exist>=0){ 
    alert(' _mozi , : '+_exist); 

if(_inexistence<0){ 
    alert(' _mozi !, : '+_inexistence+'!'); 
}
5.$.merge(first,second)は2つの配列[一般]を統合する。
 
説明:返された結果は、最初の配列の内容を変更します。最初の配列の要素の後に、2番目の配列の要素が付いています。この方法はjQueryの方法で生のconcat()の代わりにする方法ですが、機能はconcat()が強くないので、concat()は同時に複数の配列を組み合わせることができます。

// concat()  
_moziNew=$.merge(_mozi,[' ',' ',' ',' ',' ',' ']) 
alert(' : '+_moziNew.length+'. : '+_moziNew);
6.$uniqueフィルタ配列中の重複要素[非常用]
 
配列中の重複要素を削除します。DOM要素配列を削除するだけで、文字列や数字配列を処理できません。
初めてこの方法を見ましたが、これはとても便利な方法だと思います。フィルタリングを繰り返して完璧です。しかし、よく見ると、DOM元素の処理に限り、機能は8%折れました。ですから、私はあまり使われない元素と定義しました。少なくとも、jQueryを使って以来使ったことがありません。

var _h2Arr=$.makeArray(h2obj); 
// _h2Arr  
_h2Arr=$.merge(_h2Arr,_h2Arr); 
var _curLen=_h2Arr.length; 
_h2Arr=$.unique(_h2Arr); 
var _newLen=_h2Arr.length; 
alert(' _h2Arr : '+_curLen+' , : '+_newLen 
      +' . '+(_curLen-_newLen)+' ')
7.$makeAray(obj)は、クラスの配列オブジェクトを行列に変換すると説明しています。クラスの配列オブジェクトを配列オブジェクトに変換し、クラスの配列オブジェクトはlength属性があり、そのメンバーインデックスは0からlength-1までとなります。これは余分な方法です。何でもできるドルはもともとこの機能が含まれています。jQuery公式サイトで説明されている非常に曖昧ですが、これはある種類の配列オブジェクト(例えばgetElements ByTagNameで取得された要素オブジェクトのセット)を行列オブジェクトに変換することです。

var _makeArr=$.makeArray(h2obj); 
alert('h2 : '+_makeArr.constructor.name);// Array
8.$(dom).toAray()は、すべてのDOM要素を配列に復元します。説明:jQueryのセットのDOM要素を一つの配列に復元します。あまり使われていない方法ですが、個人的には$makeArayと同じくらいの余分さを感じます。