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)
上一篇 2026年2月8日 下午4:15
下一篇 2026年2月8日 下午4:43


相关推荐

  • 解密prompt系列57. Agent Context Engineering – 多智能体代码剖析

    解密prompt系列57. Agent Context Engineering – 多智能体代码剖析

    2026年3月15日
    2
  • java序列化和反序列化以及序列化ID的作用分析

    java序列化和反序列化以及序列化ID的作用分析java序列化和反序列化以及序列化ID的作用分析

    2022年6月18日
    28
  • veryCD 不能下载了,我们该怎么办?

    veryCD 不能下载了,我们该怎么办?程序员一般都是看教学视频,自己学习,想要大牛手把手教你,估计是不可能的,原来大家都喜欢veryCD这个免费分享平台,可是近期它关掉了,没办法,所有免费的软件资源都下载不了,笔者最近也想下载国嵌的视频,觉得讲的不错,可惜,哎。不过,这些也难不倒学计算机的同学们,veryCD关闭了ed2k的服务,不代表我们迅雷不可以下载ed2k的东西,于是我们要利用百度的力量:我们下载国嵌的usb描述符一类

    2022年8月10日
    11
  • plc梯形图编程入门基础知识_plc简单循环程序梯形图

    plc梯形图编程入门基础知识_plc简单循环程序梯形图OFweek工控网讯:初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯。下面以三菱FX系列PLC为例,简单介绍一下PLC梯形图编程时需要遵循的规则,希望对大家有所帮助。有一点需要说明的是,本文虽以三菱PLC为例,但这些规则在其它PLC编程时也可同样遵守。  一,梯形阶梯都是始于左母线,终于右母线(通常可以省掉不画,仅画左母线)。每行的左边是接点组合,表示驱动逻辑线圈的条件,而表示结果

    2025年10月24日
    7
  • iOS 用UIScrollView不能获取到touchesBegan

    iOS 用UIScrollView不能获取到touchesBegan网上查了一下 原来UIScrollView是没有继承touchesBegan方法的所以要自己重写UIScrollView然后继承 touchesBegan等方法才可以用重写UIScrollView很简单代码下.h//// myScrollView.h// WFClient//// Createdby屎壳郎情调on1

    2022年7月25日
    11
  • 简历中“项目经历“该如何写?

    简历中“项目经历“该如何写?前言找工作 简历是最关键的一步 只有通过了简历筛查才能往下继续进行 很多人写简历 都是在记录流水账 看来没有任何平淡寡味 其实简历的核心价值就在于游说 hr 和面试官 看我 看我 看我 即 吸引对方的眼球 让对方翻你的牌子 所以 简历的终极目的就是在回答一个问题 为什么要选择我 而不是别人 前段时间看 剑指 Offer 1 其中看到了关于项目经验的建议 也许能解答大家的疑惑 于是本文记录一下 这本书也很推荐大家买来看看 里面都是算法题和算法思维 但它是 C 写的 所

    2026年3月19日
    2

发表回复

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

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