[b]1、代码[/b]
[b]2、说明[/b]
引自:
[url]http://akunamotata.iteye.com/blog/511368[/url]
function unique(data){
data = data || [];
var a = {};
for (var i=0; i<data.length; i++) {
var v = data[i];
if ( typeof(a[v]) == 'undefined'){
a[v] = 1;
}
};
data.length=0;
for (var i in a){
data[data.length] = i;
}
return data;
}
// test function 'unique'
var d = ['d','ds','dd','d','ds','a','ds'];
var nd = unique(d);
var str = "";
for(var i=0;i<nd.length;i++){
str += nd[i] + ',';
}
alert(str);//d,ds,dd,a,
[b]2、说明[/b]
// :
// : 兼容处理,如果data未定义,则赋一个空数组。注意:这里没有使用 var data = data || [];
// : 新new一个空json对象。注意:是json对象,而非数组。
// :
// : 获取 data[i]的值 v
// : 如果 a 中不存在 以 v 为索引的值,则新建一个,并为其赋值为 1 。如果存在,则不会向a中插入任何值。
// :
// :
// :
// : 清空data (相当于 data = [] ;)
// : 其实json对象 a 的索引,就是 data 中的每一个值
// : 将a的索引 还原 给 data
// :
// : 返回
引自:
[url]http://akunamotata.iteye.com/blog/511368[/url]