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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件开发模式有哪些(软件工程开发模式)

    软件开发模式简介1.边做边改模型(Build-and-FixModel)  好吧,其实现在许多产品实际都是使用的“边做边改”模型来开发的,特别是很多小公司产品周期压缩的太短。在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。  在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。在提供给用户使用后,如果程序出现错…

    2022年4月14日
    46
  • acwing1057. 股票买卖 IV(状态机模型)

    acwing1057. 股票买卖 IV(状态机模型)给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润,你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。一次买入卖出合为一笔交易。输入格式第一行包含整数 N 和 k,表示数组的长度以及你可以完成的最大交易数量。第二行包含 N 个不超过 10000 的正整数,表示完整的数组。输出格式输出一个整数,表示最大利润。数据范围1≤N≤105,1≤k≤100输入样例1:3 22

    2022年8月9日
    5
  • Apache tez_apache ii

    Apache tez_apache ii转发自这位大佬博客:https://www.cnblogs.com/rongfengliang/p/6991020.html你可能听说过ApacheTez,它是一个针对Hadoop数据处理应用程序的新分布式执行框架。但是它到底是什么呢?它的工作原理是什么?哪些人应该使用它,为什么?如果你有这些疑问,那么可以看一下BikasSaha和ArunMurthy提供的呈现“ApacheTez:加…

    2025年8月7日
    5
  • SQL清空表数据表

    SQL清空表数据表SQL清空表数据表并使得自增ID从1重新开始计数truncatetabletable_name

    2022年6月11日
    24
  • pycharm安装opencv-python_pycharm opencv

    pycharm安装opencv-python_pycharm opencv使用pip安装:pipinstallpython-opencv在网络距离美国较远的情况下,或PIP版本未达到要求的情况下,会install失败。解决方法1.重试2.科学方法,这里说明使用科学方法的端口问题,切记不要和本地计算机使用同一个端口,容易造成Pycharm未知错误。3.手动去官网下载文件这里有两种类型的手动安装文件setup.pyXXXX.whl以上两种文件都可以通过pycharm的命令行工具直接cd到目录进行直接安装。方法:1pyth

    2022年8月27日
    8
  • cocos2d-x 3.0游戏实例学习笔记 《跑酷》 完结篇–源代码放送

    cocos2d-x 3.0游戏实例学习笔记 《跑酷》 完结篇–源代码放送

    2021年12月2日
    48

发表回复

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

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