我是靠谱客的博主 默默鞋子,最近开发中收集的这篇文章主要介绍随机数及数组去重,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数组去重

  // 数组去重    
   //第一种
    let arrOld = [2, 3, 5, 4, 3, 2, 6, 8, 5, 4, 6, 2];
    let flag = true;//新数组中没有相同的元素
    // 1、建立新数组
    let arrNew = [];
    // 2、遍历旧数组
    for (let i = 0; i < arrOld.length; i++) {
      flag = true;
           // 4、往新数组中放置旧数组的元素
  
            // 5、遍历新数组
         for (let j = 0; j < arrNew.length; j++) {
       
  
        if (arrNew[j] == arrOld[i]) {
          // 新数组中有相同的元素变成false
          flag = false;
        }
      }
      // 3、判断如果新数组中有相同的元素,就不往新数组中放了
      if (flag) {
        arrNew.push(arrOld[i])// [2, 3, 5, 4, 6, 8]
      }
    }
    console.log(arrNew);
      

        // 第二种 
         var arr = [100, 20, 30, 50, 30, 100, 20, 50];//[100,20,30,50]
        // 1、创建新数组
         var arrNew = [];
        // 2、创建新对象
        var objNew = {};
        // 3、遍历旧数组
        for (let i = 0; i < arr.length; i++) {
         console.log(arr[i]);//100, 20, 30, 50, 30, 100, 20, 50
        // 4、将旧数组中的元素当做新对象的属性名(属性名不能重复),属性值随意写
  
          objNew[arr[i]] = "优秀";
                 }
          console.log(objNew);
           // 5、遍历新对象的属性
          for ( let x in objNew) {// for... in ..以任意顺序迭代一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性。属性名就//100,20,30,50
  
            console.log(x);//打印属性:100,20,30,50
          // 6、将新对象中的属性当做新数组的元素即可,用push方法添加Number方法转变数据类型
            arrNew.push(Number(x));
            }
      
          
//第三种
       //利用set结构成员值唯一的特点
       let arr = [100, 20, 30, 50, 30, 100, 20, 50];
       let arrSet = new Set(arr);//[100,20,30,50]
  

       

生成6位随机数

// 声明两个变量
    var str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    console.log(str.length);
    var vc2 = '';
    //  for循环获取6位随机数
    for (let i = 0; i <= 5; i++) {
      // 下标取整赋值
      let num = parseInt(Math.random() * str.length);
//Math.random()获取0~1之间的浮点数 参考mdn文档
      // 在 vc2 变量 中 没有字符 str[num]
  if (vc2.indexOf(str[num]) == -1) { 
//indexOf方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
        // 如果字符不重复,就写入到验证码中
        vc2 += str[num];
      } else {
        i--;
        // 如果字符重复,没有写入验证码
        // 就执行 i-- 重新执行一次循环,获取一个新的字符
        // 确保是6位字符
      }
    }
    console.log(vc2);

最后

以上就是默默鞋子为你收集整理的随机数及数组去重的全部内容,希望文章能够帮你解决随机数及数组去重所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部