欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js小应用之去掉数组中的重复元素

程序员文章站 2022-07-08 20:22:15
...
1、代码
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,



2、说明
// :
// : 兼容处理,如果data未定义,则赋一个空数组。注意:这里没有使用 var data = data || [];
// : 新new一个空json对象。注意:是json对象,而非数组。
// : 
// : 获取 data[i]的值 v
// : 如果 a 中不存在 以 v 为索引的值,则新建一个,并为其赋值为 1 。如果存在,则不会向a中插入任何值。
// :
// :
// :
// : 清空data (相当于 data = [] ;)
// : 其实json对象 a 的索引,就是 data 中的每一个值
// : 将a的索引 还原 给 data
// :
// : 返回
















引自:
http://akunamotata.iteye.com/blog/511368