随机数生成及数组去重

数组去重

<script>

// 数组去重

  //第一种

    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]

</script>

生成6位随机数

<script>

// 声明两个变量

    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);

</script>

http://t.csdn.cn/VBkDu

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数组 1.数组:就是在内层中,开辟一段连续的空间,存储一组数据 如果需要维护多组数据,之前我们需要定义很多个变量,...
    kygo阅读 709评论 0 1
  • 关注 如何答一道惊艳面试官的数组去重问题? 为什么写这篇文章? 数组去重应该是面试必考问题之一。 虽然它是一道并不...
    冇得感情阅读 292评论 0 1
  • 1、字面量的方式创建数组 : let arr = ['张三','李四','王五']; let nu...
    Healerzcy阅读 1,219评论 0 0
  • arr.push(...items)—— 从尾端添加元素, arr.pop()—— 从尾端提取元素, arr.sh...
    zlqinying阅读 377评论 0 0
  • 1.join() var arr = [1,2,3]; console.log(arr.join()); // 1...
    _杨柳_阅读 596评论 0 0

友情链接更多精彩内容