js数组去除重复值

js

var arr = new Array('a', 'b', 'a', 'c', 'b', 'a', 'c', 'b', 'a', 'c', 'd', 'a');
 function array_unique1(arr)
 {
  var n, k, r = [];
  while (arr.length > 0)
  {
   var newarr = []
   n = arr[0]
   r.push(n);
   for (k in arr)
   {
    if (arr[k] != n)
    {
     newarr.push(arr[k])
    }
   }
   arr = newarr;
  }
  return r;
 }

 function array_unique2(arr)
 {
  var r = [], mark, k;
  if (arr.length > 0) {
   r.push(arr[0])
   for (k in arr) {
    for (kr in r) {
     if (r[kr] == arr[k]) {
      mark = 1;
      break;
     }
     mark = 0;
    }
    if (mark == 0) {
     r.push(arr[k])
    }
   }
  }
  return r;
 }
 function array_unique3(arr)
 {
  var r = [], n, k, mark;
  while (arr.length > 0) {
   n = arr.pop()
   mark = 0
   for (k in arr) {
    if (arr[k] == n) {
     mark = 1
     break;
    }
   }
   if (mark == 0) {
    r.push(n);
   }
  }
  return r;
 }

 function array_unique4(arr)
 {
  var o = {}, r = [];
  for (k in arr) {
   o[arr[k]] = '';
  }
  for (k in o) {
   r.push(k)
  }
  return r;
 }

 function array_unique5(arr)
 {
  var str = ',', r = [];
  for (k in arr)
  {
   if (str.indexOf(',' + arr[k] + ',') == -1)
   {
    str += arr[k] + ',';
   }
  }
  arr = str.substr(1, str.length -2).split(',');
  return arr;
 }


 arr = array_unique(arr);
 alert(arr)
 //var s = 'acabcb';
 //alert(s.replace(/c/i, ''))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值