数组去重的方法 -三种 简单数据类型和复杂数据类型

数组去重的方法:

传统的方法

  1. 首先声明一个老数组

Var oldarr=[1,2,3,4,54,4,6,7,8,7,8,9,44,0];

Var newarr=[oldarr[0]];

//新数组里面,要先放一个元素,才能拿这个元素和旧的数组进行比较

//用循环遍历就的数组,然后进行一个个的比较

For(var i=0;i<oldarr.lenght;i++){

//假设一个变量,当老数组的数据和新数组的数据相等的时候,这个变量为假

Var Flag=false;

   //开始遍历新的数组,然后与老数组进行比较

   For(var j=0;j<newarr.length;j++){

If(oldarr[i]==newarr[j]){

//新数组的数据等于老数组的数据

Break;

//用break结束循环

}else{

  //如果数组不相同,flag=true

Flag=true;

}

 

    

}

If(flag){

//也只有flag为true的时候,if才会执行,然后上面假设flag的初始值必须是flase.都是一环扣一环,紧密联系的

//加入flag为true 说明新数组的数据和老数组的数据不相同

 

//将老数组的数据传入新数组

Newarr.push(oldarr[i]);

 

}

}

Consolg.log(newarr);

 

 

 

 

 

Splice方法

  var arr=[7,2,4,5,8,0,7,2,4,67,7,3,5,78,99,44,8];

    forvar i=0;i<arr.length;i++ ){

// 每一位元素都和后一位元素相比较

 

        for(var j=i+1;j<arr.length;j++){

            if(arr[i]==arr[j]){

                arr.splice(j,1);

                 //删除数组的第j个后一个

                // 用来删除数组元素

                // 删除数组的元素(放一个范围,从j开始到j的后一位结束)

                j--;

            }

        }

    }

    

    console.log(arr);

    

 

 

 

 

indexOf方法

  var arr=[7,2,4,5,8,0,7,2,4,67,7,3,5,78,99,44,8];

 

 var newarr=[];

    for(var i=0;i<arr.length;i++ ){

        // 将新老数组作对比,如果过不相等,则将数组存到新数组中

        if(newarr.indexOf(arr[i])==-1){

            // indexOf判断某个值时候存在数组中,如果不存在就返回-1

            // 数据不在新的数组里面就放入新的数组

            newarr.push(arr[i]);

        }

    }

     console.log(newarr);

 

 

 

 

简单数据类型和复杂数据类型

 

 

 

  var a=0;

      var b=a;

      console.log(b);

      a=100;

      console.log(a);

//打印出100

 

简单数据类型: 值引用

               将变量的值,复制一份,放入给新的变量

     彼此之间不会互相影响

 

 

 

      var arr1=[1,2,3,4,5]

      var arr2=arr1;

      arr1[0]=100;

      console.log(arr2);

     //打印出100,2,3,4,5

复杂数据类型:地址引用

       将变量的地址复制一份给新的变量,新的变量

        修旧变量的地址是一样的,使用同一块数据地址(内存

 

函数:

  1. 函数的声明 :

 

 Function 函数名(参数)

{

 函数体;

}

 

   Function say(name){

   Console.log(name+”相信自己”);

}

  1. 函数的调用

函数名(参数);

Say(“可爱的宝宝”);

 

 

 

 

 

)

         

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值