C#和JavaScript中数组去重总结(2)

Array.prototype.DropRepeat= function (){
  var oldArr=this;
  var oldLen=oldArr.length;
  var newArr=[oldArr[0]];
 
  if(!oldLen)
  {
   return this;
  }
 
  for(var i=1;i<oldLen;i++)
{
  newArr.indexOf(oldArr[i])<0?newArr.push(oldArr[i]):'';

return newArr;

};

var testArr=['1','2','3','3','5'];
console.log(testArr.DropRepeat());

在chrome下测试的结果为:

C#和JavaScript中数组去重总结

5.2第二种方法就是直接函数实现:

function DropRepeat(arr){
              // 遍历arr,把元素分别放入tmp数组(不存在才放)
              var tmp = new Array();
              for(var i=0;i<arr.length;i++){
                  //该元素在tmp内部不存在才允许追加
                  if(tmp.indexOf(arr[i])==-1){
                      tmp.push(arr[i]);
                  }
          }
          return tmp;
      }
    var testArr=[1,2,2,3,4,4];
DropRepeat(testArr);

结果:

C#和JavaScript中数组去重总结

5.3第三种方法就是利用了一个键值的方法,反转键值以后,因为键值不能重复,所以就自动过滤掉了重复的元素。

function DropRepeat(arr)
{
    var reverseArr1=new Array();
    for(var item in arr){
          reverseArr1[arr[item]]=1;
  }
    var reverseArr2=new Array();
      for(var item in reverseArr1){

reverseArr2.push(item);
  }
  return reverseArr2;
}

var testArr=[1,2,2,3,4,4,5];
DropRepeat(testArr);

测试结果:

C#和JavaScript中数组去重总结

本人菜鸟,希望各位大牛给出指导,不当之处虚心接受学习!谢谢!

JavaScript高级程序设计(第3版)高清完整PDF中文+英文+源码

如何使用JavaScript书写递归函数 

JavaScript核心概念及实践 高清PDF扫描版 (邱俊涛) 

理解JavaScript中的事件流   

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ab2ab72a557d0696f8d0d5521528323a.html