<!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>