(2013年6月修正)
jQueryのunique()は、文字列には使えないようだ。
Description: Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers.
ということで、自前で作成する。
エラーチェックなどを除いたシンプルなコードは以下のイメージ。(xuarray.js)
// JavaScript // オブジェクトの配列からプロパティ名を指定して重複を除く function xua_uniqueObjectArray(objArray, propName){ var storage = {}; var uniqueObjArray = []; var i, value; for (i = 0; i < objArray.length; i++) { value = objArray[i][propName]; if (!(value in storage)) { storage[value] = true; uniqueObjArray.push(objArray[i]); } } return uniqueObjArray; } // 単純な配列から重複を除く function xua_unique(orgArray){ var storage = {}; var uniqueArray = []; var i, value; for (i = 0; i < orgArray.length; i++) { value = orgArray[i]; if (!(value in storage)) { storage[value] = true; uniqueArray.push(value); } } return uniqueArray; }
—–
配列から重複した要素を取り除くには、jQueryのunique()を使うと簡単だ。(JavaScriptには同じことをダイレクトに実現するメソッドはないようで、少々コードを書く必要がある。)
// JavaScript // 元の配列 rideDates_ = ['2013/01/01', '2013/01/01', '2013/01/02', '2013/01/02']; // 重複を除く rideDates = $.unique(rideDates_); // 結果 // rideDate = ['2013/01/01', '2013/01/02'];