js数组去除重复值

来源:互联网 发布:淘宝女棉服中长款 编辑:程序博客网 时间:2024/04/29 07:34
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, ''))

原创粉丝点击