数组去重

 // 1.封装一个数组去重 功能:只能是数组去重 把新数组和旧数组中一样的值取出来放到新数组中去 参数:对谁去重(不知道所有要传入一个参数) 既然是数组去重我们要传入一个参数的 返回值:我们数组去重后的新数组要返回 回来
        //解决思路;我们要拿这旧数组去遍历新数组使用双层for循环 就可以去遍历新数组的每一个元素了 如果新数组和就旧数组中相等就说明他们中重复得值了 如果不相等则说明没有重复的值 就可以吧旧数组中的值给到新数组当中即可
        function getBack(arr) {
            var newArry = [] //声明一个空数组用于返回新的数组
            newArry[0] = arr[0] //这里为了方便 我们吧arr里面的第一个元素赋值给newArry的第一个元素 这时候newArry就存在有元素了   不然无法去遍历新数组的 因为j < newArry.length里面是空的 新数组里面的条件为false就直接跳过for内循环了
            var flag = true //这里声明了一个flag变量 开始值为true,代表着如果flag=true就说明里面没有重复的值 如果flag=false就说明有重复的值
            for (var i = 0; i < arr.length; i++) {
                for (var j = 0; j < newArry.length; j++) {
                    if (arr[i] == newArry[j]) { //如果旧数组和新数组进入到if语句里面了就说明有重复的值
                        flag = false //有重复的值就赋值为 false 不让旧数组的值给到新数组里面
                        break; //有重复的值了我们就不需要在进行下一轮循环比较了 直接退出内循环了 代码在接着往下走
                    }
                }
                if (flag) { //flag等于true的时候才会进入到if语句里面吧旧数组的值赋值给新数组里面 如果为flase则不进入
                    newArry[newArry.length] = arr[i]
                }
                flag = true //第一个判断完毕后要吧flag重新赋值为true不然,你永远只能传回第一个值 后面的都进不来了
            }
            return newArry
        }
        var arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1, 7, 8, 9, 1, 1, 1, 1, 2, 2, 90, 40] //1, 2, 3, 4, 5, 7, 8, 9, 90, 40
        var reslut = getBack(arr)
        console.log(reslut);

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值