<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.111cn.net/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/ 1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>js 删除数组相同元素</title>
<script language="网页特效">
var a = [1,2,3,1,1,3,5,3,6,2];
var b=[];
for(var i=0;i<a.length-1;i++){
var bfound = false;
for(var j=i-1;j>=0;j--){
if(a[i]==a[j]) {bfound=true;break;}
}
if(!bfound) b[b.length]=a[i]
}
alert(b)
</script>
</head>
<body>
<script type="text/javascript">
<!--
var arr = ['a','b','c','a','b','d','b'],hash = {};
for(var i = 0; i < arr.length; i++) hash[arr[i]] == undefined && (hash[arr[i]] = arr[i]);
for(var o in hash) document.write(o)
//-->
</script>
<script>
var arr = [1,2,3,4,5,6,7,8,9,2,4,6,7,3,4];
var obj = new object();
for(var i=0;i<arr.length;i++){
if(!eval("obj.attr"+arr[i])){
eval("obj.attr"+arr[i]+"="+arr[i]);
}
}
var arr1 = [];
for(var attr in obj){
arr1[arr1.length] = obj[attr];
}
alert(arr1);
</script>
</body>
</html>
再提供一其它参数,删除数组元素函数
<script language="javascript" type="text/javascript">
array.prototype.del=function(n) { //n表示第几项,从0开始算起。
//prototype为对象原型,注意这里为对象增加自定义方法的方法。
if(n<0) //如果n<0,则不进行任何操作。
return this;
else
return this.slice(0,n).concat(this.slice(n+1,this.length));
/**//*
concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
这里就是返回this.slice(0,n)/this.slice(n+1,this.length)
组成的新数组,这中间,刚好少了第n项。
slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
*/
}
//我们来试一试这个自己增加的方法
var test=new array(0,1,2,3,4,5);
test=test.del(3); //从0算起,这里也就是删除第4项。
alert(test);
</script>