function unique(data){
data = data || [];
var a = {};
for (var i=0; i<data.length; i++)
{
var v = data[i];
if (typeof(a[v]) == 'undefined')
{
/*
把原来的数组中的值当成数组多少索引,然后对索引进行赋值。重复的值就会被覆盖,因为索引是唯一的.相当于map的key,value
例如:
arr = ['a','b','a'];
执行过程
var a = {};
a[arr[0]] = arr[0];//a['a'] = 'a';
a[arr[1]] = arr[1];//a['b'] = 'b';
a[arr[2]] = arr[2];//a['a'] = 'a';
*/
a[v] = v;
}
}
data.length=0;
for (var i in a)
{
data[data.length] = i;
}
return data;
}