日期:2014-05-16 浏览次数:20338 次
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; }