getメソッドなどを利用して得られた要素配列に対し、jQuery.uniqueメソッドを利用すると要素のソートをして複数ある要素は削除し重複を解消します。jQuery.uniqueメソッドは「要素配列」にしか利用できません。数値や文字列が設定された通常の配列では機能しないことに注意してください。jQueryオブジェクトの場合は重複を気にする必要はありません。→ページ最下部の「メモ」参照。解説まずは重複した要素配列を確認しますまずはjQuery.uniqueメソッドを利用していないサンプルから確認します。サンプル(unique/01.html)を開いてbody内にbutton要素と5つのdiv要素があることを確認してください。div要素には「test」か「sample」のクラス属性が付けられていますが、1つだけtestとsampleの両方のクラスを持っている要素があります。class="sample">sample</div>続いて以下のjQueryを確認してください。getメソッドを利用してsampleのクラス属性を持った要素を配列に変換し変数arr_1に代入しています。同様にtestのクラス属性を持つ要素を配列に変換し変数arr_2に代入しています。3行目でjavaScriptのcontactメソッドを利用して、2つの配列を連結して新しい配列「myArray」を得ました。arr_1.concat(arr_2);buttonをクリックすると以下の処理が実行され、配列に含まれている要素の数をアラートで表示します。$("button").click(function(){alert(myArray.length);});結果として「6」が表示されますが、これはsampleとtestの両方のクラス属性を持つ要素があるため、その要素が重複してカウントされたためです。同じ要素が重複していると操作する際に余分に負荷が掛かるため良くありません。そこでjQuery.uniqueメソッドを利用します。要素配列の重複を解消するサンプル(unique/02.html)を開いて、ほとんどunique/01.htmlと同じ事を確認してください。異なるのはbuttonをクリックした時の処理が、以下の様に1行追加されている点だけです。$.unique(myArray);alert(uniqueArray.length);});jQuery.uniqueメソッドによって、testのクラス属性とsampleのクラス属性の2つ分カウントされていた要素が「重複分を削除」されます。結果としてbuttonをクリックするとアラートで「5」と表示されます。elements」とあるのですが、要素配列(DOM要素の配列)ではない通常の配列の重複も解消しました...。サンプル(unique/03.html)を開いてjQueryが以下の様に記述されていることを確認して下さい。ポイントは1行目で作成した配列で、重複した要素がある点です。$.unique(myArray);alert(uniqueArray);});buttonをクリックするとjQuery.uniqueメソッドで重複を解消してアラートで表示するようにしています。実際にbuttonをクリックすると重複した要素が解消された結果が表示されます。getメソッドを利用すると、jQueryオブジェクト内の要素を配列に入れ換えてくれます。jQueryオブジェクトを配列に変換します。メモ要素配列のメリットjQueryオブジェクトを要素配列に変換するメリットとして、配列に利用するreverseメソッドやsortメソッドが利用できることがあります。jQuery.makeArrayメソッドの「メモ」にあるので確認してください。jQuery.makeArrayメソッドもjQueryオブジェクトから配列を作成する事ができます。配列要素はjQueryオブジェクトに戻せますjQueryメソッドを利用すると、要素配列をjQueryオブジェクトに戻すことができます。サンプル(unique/test01.html)を開いてほとんどunique/02.htmlと同じ事を確認してください。cssメソッドで背景色をピンクに変更している点だけです。$.unique(myArray);$(uniqueArray).css("background-color","#fcf");});uniqueArrayはjQueryオブジェクトに戻ったので、jQueryのメソッドで処理できるのです。結果としてbuttonをクリックするとdiv要素の背景色がピンクに変わります。逆に要素配列のままだと、jQueryのメソッドでは処理できません。サンプル(unique/test01b.html)は以下の様にjQueryメソッドを利用せず、配列要素のままcssメソッドを利用しています。$.unique(myArray);uniqueArray.css("background-color","#fcf");});結果として、buttonをクリックしても何も変わりません。jQueryオブジェクトは重複を気にしなくてOKjQueryオブジェクトでは要素の重複は発生しません。サンプル(unique/test02.html)を開いてbody内の構成はunique/test01.htmlと同じ事を確認してください。addメソッドを利用してsampleのクラス属性をもつ要素にtestのクラス属性をもつ要素を追加しています。addメソッドによって連結されたjQueryオブジェクトは変数「myObj」に代入しました。$(".sample").add(".test");buttonをクリックすると、以下の様にjavaScriptのlengthプロパティを利用してjQueryオブジェクト「myObj」内の要素数をアラートで表示します。$("button").click(function(){alert(myObj.length);});結果として、buttonをクリックするとアラートで5が表示されます。jQuery.uniqueメソッドを利用しなくてもjQueryオブジェクトは要素が重複しないようになっているのです。