js 洗牌算法_数据库洗牌算法

js 洗牌算法_数据库洗牌算法概念洗牌算法即是把一组数组里的元素随机组合生成一个新数组。实现constshuffle=([…arr])=>{letm=arr.length;while(m){consti=Math.floor(Math.random()*m–);[arr[m],arr[i]]=[arr[i],arr[m]];}returnarr;};//测试consttes

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

概念

洗牌算法即是把一组数组里的元素随机组合生成一个新数组。

实现

const shuffle = ([...arr]) => { 
    let m = arr.length; 
    while (m) { 
        const i = Math.floor(Math.random() * m--); 
        [arr[m], arr[i]] = [arr[i], arr[m]];
    }
    return arr;
};  

// 测试
const testArr = [1, 2, 3, 4, 5, 6, 7, 8]

console.log('输出1:' + shuffle(testArr))    // 输出1:[4, 6, 7, 3, 1, 5, 2, 8]

console.log('输出2:' + shuffle(testArr))    // 输出2:[6, 8, 2, 1, 7, 3, 5, 4]

console.log('输出3:' + shuffle(testArr))    // 输出3:[1, 7, 5, 8, 2, 3, 4, 6]

(完) 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191064.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Apache配置虚拟主机出现forbidden的问题

    Apache配置虚拟主机出现forbidden的问题1.httpd.conf中配置过网站根目录该配置文件的250行左右,修改了根目录①httpd.conf配置文件中这两处都要修改②httpd-vhosts.conf配置文件中检查DocumentRoot是不是有默认值,有的话要修改根目录③重启Apache服务,清空浏览器缓存2.httpd-vhosts.conf中配置过虚拟主机httpd.conf配置中文件中找到VirtualHost,…

    2022年9月15日
    4
  • IntelliJ IDEA安装及jsp开发环境搭建

    IntelliJ IDEA安装及jsp开发环境搭建一、前言  现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目,一直想吐槽为嘛java项目只能import。昨天一路踩坑,花了一整天的时间搭建好jsp的开发环境,特此记录下安装过程中一些注意的问题以及解决方案。整个过程槽点满满…二、IntelliJIDEA…

    2022年10月21日
    2
  • 很挫的 SHFileOperation 用法 2011-07-18 11:42「建议收藏」

    很挫的 SHFileOperation 用法 2011-07-18 11:42「建议收藏」今天编写一个局域网文件拷贝的demo。其中有一个SHFileOperation的用法,这个函数有个参数SHFILEOPSTRUCT。查看msdn有如下解释:pFromAddressofa

    2022年7月1日
    22
  • SchedulerFactoryBean初始化监听

    SchedulerFactoryBean初始化监听SchedulerFactoryBean初始化监听今天碰到一个问题,使用的是Quartz动态控制定时器的运行,功能已经完善,但是每次上线定时项目的时候,总要重启,一重启,所有定时任务自动就停止了,就会跟数据库对应的定时器状态不一致,在网上找了半天,找到了关于SchedulerFactoryBean初始化监听的东西,网上的文章大部分是SchedulerFactoryBean初始化解析,全部去研究…

    2022年5月24日
    52
  • part11.2-LED驱动设计

    part11.2-LED驱动设计

    2022年4月2日
    38
  • SecureCRT中文显示乱码解决

    SecureCRT中文显示乱码解决先放图由于我自己装的是中文版的Linux系统,所以在显示中文的时候,SecureCRT显示出乱码。后来我查了下Linux系统字符编码默认是utf-8格式的!要将SecureCRT也设置成UTF-8才能进行正常显示。设置步骤:1、选择字符编码为UTF-8。点击【会话选项】–>选择【外观】。将字符编码设置为UTF-8格式。2、设置字符集为GB2312。点击【字体】–>将字符集设…

    2022年7月17日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号