filter
jquery 以外のソリューションとして、次のように Arrays メソッドを使用できます。
var thelist=["ball_1","ball_13","ball_23","ball_1"],
thelistunique = thelist.filter(
function(a){if (!this[a]) {this[a] = 1; return a;}},
{}
);
//=> thelistunique = ["ball_1", "ball_13", "ball_23"]
拡張機能としてArray.prototype
(短縮されたfilter
コールバックを使用)
Array.prototype.uniq = function(){
return this.filter(
function(a){return !this[a] ? this[a] = true : false;}, {}
);
}
thelistUnique = thelist.uniq(); //=> ["ball_1", "ball_13", "ball_23"]
[ 2017年を編集]これに対するES6の見解は次のとおりです。
const unique = arr => [...new Set(arr)];
const someArr = ["ball_1","ball_13","ball_23","ball_1", "ball_13", "ball_1" ];
console.log( unique(someArr) );