您的位置 >>> 星想互联 >>> 编程技术 >>> JQUERY+JS
javascript数组去重
点击数:209  发布时间2018-07-16 22:01:18

数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复。主要是学习编程思想,方法一是一个非常巧妙的算法。

方法一:

非常巧妙

<script>
arr=[1,2,4,5,1,2,8,7]
var n = [],r=[]; 
for(var i = 0; i < arr.length; i++){
 if (!n[arr[i]]){

//n[arr[i]],arr[i]的值分别为1,2,4,5,1,2,8,7,那么n[arr[i]]即n[1],n[2],n[4],n[5],n[1],n[2],n[8],n[7],初始均为undifined,push的同时设为true
n[arr[i]] = true; 
r.push(arr[i]); 
}
 }
alert(r)
</script>


方法二:

很常用,引入一个临时数组

<script>
arr=[1,2,4,5,1,2,8,7]
var n = []; //一个新的临时数组
for(var i = 0; i < arr.length; i++) //遍历当前数组
{
//如果当前数组的第i已经保存进了临时数组,那么跳过,
//否则把当前项push到临时数组里面
if (n.indexOf(arr[i]) == -1) n.push(arr[i]);
}
alert(n)
</script>


方法三:

<script>
var arr=[1,2,3,1,2,3,4,5];
for(var i=0;i<arr.length;i++){
  for(var j=i+1;j<arr.length;j++){
    if(arr[i]==arr[j]){
      arr.splice(i,1);
      i--;
    }
  }
}
alert(arr);
</script>


来源:咸宁网站建设