• 工信部:17年12批新能源车推荐车型目录 2019-05-11
  • 美国再挑贸易战,中方强力回击,全球市场跌声一片 2019-05-11
  • 四川都江堰再现野生大熊猫踪迹 比3月拍到的更肥 2019-05-10
  • 坚持和发展马克思主义的宣言书 2019-05-10
  • 解析视频播控平台黑产链 20元看12家网站VIP会员视频 2019-04-26
  • 众星云集 “欧洲红魔”能否用战绩兑现黄金一代的天赋 2019-04-26
  • 比如最高检的12309检查服务中心,原来还有显示信访处理进程,不过没有几天就取消了。[上火][上火] 也就是说办与不办也没有人知道,下边省事了,上边也就轻松了。 2019-04-16
  • 男女差别有多大?河北省首次公开发布分性别统计分析报告 2019-04-05
  • 菲律宾媒体和网民热议"中国剧场"开播 2019-04-05
  • 坚持和完善我国基本经济制度的两条新经验 2019-04-02
  • 5月份61城房价环比反弹 多地调控政策或再加码 ——凤凰网房产济南 2019-04-02
  • [洞见]草榴死了 欲望还活着草榴性 2019-04-02
  • 回顾:五年来习近平的“两会金句” 2019-04-02
  • 云南省2018年度国家社科基金项目申报工作的几点做法 2019-04-01
  • 地理君的专栏作者中国国家地理网 2019-04-01

    11选五复式投注表:JavaScript 数组随机不重复元素

    燕赵风采20选5走势图 www.fllv.net 2019-2-28 19:29| 作者: 蚂蚁小编| 查看: 754| 评论: 1|来自: 蚂蚁部落

    实际应用可能需要从数组元素中随机取出几个元素,并且要保证这几个元素不重复。

    有些数组可能有重复的元素,那么可能需要首先去除这些重复的元素。

    下面是实现此效果的代码:

    [JavaScript] 纯文本查看 复制代码运行代码
    var theArray=[1,3,2,4,5,9,10,20,15];
    function done(num,arr){
      var newArray=[];
      for(var index=0;index<num;index++){
        var n=Math.floor(Math.random()*theArray.length);
        newArray.push(theArray[n]);
        theArray.splice(n,1);
      }
      return newArray+"";
    }
    console.log(done(2,theArray));

    上面代码实现了我们的要求,下面介绍一下它的实现过程。

    一.代码注释:

    (1).var theArray=[1,3,2,4,5,9,10,20,15],声明一个数组,将会从此数组取元素。

    (2).function done(num,arr){},此函数实现了取出指定个数不重复元素效果,第一个参数是要取的个数,第二个是数组对象。

    (3).var newArray=[],声明一个空数组,用来存放取出的元素。

    (4).for(var index=0;index<num;index++){},取出指定个数的数组元素,这里采用for循环遍历的方式。

    (5).var n=Math.floor(Math.random()*theArray.length),通过随机数*数组的长度可以获取随机的数组索引,并将其存入变量n。

    (6).newArray.push(theArray[n]),将获取的数组元素存入新的数组。

    (7).theArray.splice(n,1),删除此索引位置的数组元素。

    (8).return newArray+"",将数组转换为字符串并返回。

    二.代码注释:

    (1).Math.floor方法参阅JavaScript Math.floor()一章节。 

    (2).Math.random方法参阅JavaScript Math.random()一章节。 

    (3).push方法参阅JavaScript push()一章节。 

    (4).splice方法参阅JavaScript Array splice()一章节。 

    发表评论

    最新评论

    引用 gy55you 2019-4-12 13:40
    h.floor(Math.random()*theArray.length),通过随机数*数组的长度可以获取随机的数组索引,并将其存入变量n。

    (6).newArray.push(theArray[n]),将获取的数组元素存入新的数组。

    (7).theArray.splice(n,1),删除此索引位置的数组

    查看全部评论(1)

    返回顶部
  • 工信部:17年12批新能源车推荐车型目录 2019-05-11
  • 美国再挑贸易战,中方强力回击,全球市场跌声一片 2019-05-11
  • 四川都江堰再现野生大熊猫踪迹 比3月拍到的更肥 2019-05-10
  • 坚持和发展马克思主义的宣言书 2019-05-10
  • 解析视频播控平台黑产链 20元看12家网站VIP会员视频 2019-04-26
  • 众星云集 “欧洲红魔”能否用战绩兑现黄金一代的天赋 2019-04-26
  • 比如最高检的12309检查服务中心,原来还有显示信访处理进程,不过没有几天就取消了。[上火][上火] 也就是说办与不办也没有人知道,下边省事了,上边也就轻松了。 2019-04-16
  • 男女差别有多大?河北省首次公开发布分性别统计分析报告 2019-04-05
  • 菲律宾媒体和网民热议"中国剧场"开播 2019-04-05
  • 坚持和完善我国基本经济制度的两条新经验 2019-04-02
  • 5月份61城房价环比反弹 多地调控政策或再加码 ——凤凰网房产济南 2019-04-02
  • [洞见]草榴死了 欲望还活着草榴性 2019-04-02
  • 回顾:五年来习近平的“两会金句” 2019-04-02
  • 云南省2018年度国家社科基金项目申报工作的几点做法 2019-04-01
  • 地理君的专栏作者中国国家地理网 2019-04-01
  • 福彩3d红五图库 最全北京赛车pk10必胜技巧 pk109码滚雪球一天3把 重庆时时彩单双开奖时间 足彩进球彩四场霸主 北京小赛车盛世 河南快赢481开奖视频 北京赛车冠军公式规律 澳洲幸运8开奖是什么 棋牌游戏开发 重庆时时开奖结果记录 天津老时时彩开奖结果 福彩3d怎么买才能中大奖 湖南省福彩中心主任 p3试机号金码关注对应 福利彩票走势图200期