js 刪除數組相同元素

來源:互聯網
上載者:User

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

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.