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]

(完) 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 硬件知识汇总

    硬件知识汇总硬件知识1、电源类1.1 电源基础各种“地”——各种“GND”板载电源设计规范电源环路稳定性评价方法深入芯片内部,理解去耦电容的作用减小DC/DC变换器中的接地反弹——一些接地要点开关电源中的小启示电源相关的测试去耦电容的选择、容值计算和布局布线可充电电池将被超级电容取代电容去耦原理(解释十分透彻)地线要短——测试开关电源纹波时权衡电源与PCB设计极点是男人,零点是女人开关电源仿真(sab…

  • matlab griddata外插,matlab griddata方法使用介绍

    matlab griddata外插,matlab griddata方法使用介绍griddata的作bai用是数据网格化。其一般用du法格式为ZI=griddata(x,y,z,XI,YI)%x、y、z——数据,XI,YI——X-Y平面上的zhi网格数据应用实例:dao>>x=rand(100,1)*4-2;y=rand(100,1)*4-2;>>z=x.*exp(-x.^2-y.^2);>>ti=-2:.2…

  • 全景视频拼接关键技术

    全景视频拼接关键技术一、原理介绍图像拼接(ImageStitching)是一种利用实景图像组成全景空间的技术,它将多幅图像拼接成一幅大尺度图像或360度全景图,图像拼接技术涉及到计算机视觉、计算机图形学、数字图像处理以及一些数学工具等技术。图像拼接其基本步骤主要包括以下几个方面:摄相机的标定、传感器图像畸变校正、图像的投影变换、匹配点选取、全景图像拼接(融合),以及亮度与颜色的均衡处理等

  • es6转es5_es6转es5插件

    es6转es5_es6转es5插件步骤初始化环境npminit-y首先安装babel组件npminstall@babel/cli@babel/core@babel/preset-envbabel-plugin-transform-es2015-modules-umd-D配置babel,.babelrc(babel配置文件){“presets”:[“@babel/preset-env”],”plugins”:[“transform-es2015-modules-umd”]}

  • 向 J2EE 架构师 学习之路[通俗易懂]

    向 J2EE 架构师 学习之路[通俗易懂]首先表明下这个只是个人记录,看到觉得很烂莫怪。认真看点书学点知识,脚踏实地的走,记录学到的东西,收获的东西,慢慢的成长。今天心血来潮,想看下书,百度搜索了下到csdn下载了一本《TheJ2EEArchitect’sHandbook》,毕竟想成为J2EE架构师自己觉得自己路还很长,一直觉得自己很笨,做事方法肯定有问题,一会看js,一会看java,一会看j2ee,感觉确认很烦,自己未来…

  • eclipse配置tomcat安装及配置教程_vbras部署教程

    eclipse配置tomcat安装及配置教程_vbras部署教程想用Tomcat作为服务器,必须分以下两步。首先要配置好JDK的环境变量,再去下载Tomcat的压缩包。下载、安装JDK,并且配置好环境变量1、打开浏览器,输入JDK搜索,根据搜索结果下载安装包安装应用2、先接受协议,再根据自己的电脑下载相应的JDK版本,默认安装就行了。3、配置环境变量。找到安装路径,默认安装的一般都是在这个路径下C:\ProgramFiles\Java\jdk1.8.0_774、然后点击电脑开机键,打开控制面板5、然后点击系统安全,打开进入6、点击系统7、点击“高.

发表回复

您的电子邮箱地址不会被公开。

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