javascript 数组一键乱序

2023-10-27

方法1:

给数组原生的sort方法传入一个函数,此函数随机返回1或-1,达到随机排列数组元素的目的。

const arr1 = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9]
const shuffleArray = (arr) => arr.sort(() =>{return Math.random()>0.5?-1:1})
console.log(shuffleArray(arr1))

运行结果:
在这里插入图片描述

方法2:

为Array.prototype添加一个函数。

if (!Array.prototype.shuffle) {
    Array.prototype.shuffle = function() {
        for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
        return this;
    };
}
const arr = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9]
const shuffleArray = arr.shuffle()
console.log(shuffleArray)

运行结果:
在这里插入图片描述
方法一:直观,但是效率低;
方法二:更加高效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript 数组一键乱序 的相关文章

随机推荐

  • nvidia-container-cli的没有检测到cuda相关设备的问题的解决

    因为需要远程在服务器上运行3D的程序 在服务器上配置了Vglrun 但是之后发现在Microk8s里面的nvidia device plugin daemonset这个Pod启动失败 用describe pod命令查看 发现有 nvidia
  • 2.6.35内核的gpio子系统详解

    1 内核gpio子系统介绍 1 1 gpio子系统为驱动程序提供的服务 1 系统中GPIO信息的管理 比如有多少个GPIO 每个GPIO的编号是什么等 2 GPIO的申请 释放 3 IO的输入 输出方向的设置 IO电平的输出或者输入设置 以
  • 计算机硬件架构示意图

    图1 计算机总线示意图 图2 存储结构 图3 I7 Nehalem处理器芯片布局 图4 IBM Cell处理器芯片布局 图5 典型的现代CPU缓存组成结构
  • Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告

    Polyworks脚本开发学习笔记 二二 调取视角用脚本自动生成报告 Polyworks中 3D场景的视图可用标准视角及等轴侧视角 项目视角等方式调用 也可以用txt格式保存下来调用 如果以脚本的形式保存下来并保存为快照 就可以自动生成报告
  • 强化学习算法 Policy Gradient 解决 CartPole 问题,代码逐条详解

    本文内容源自百度强化学习 7 日入门课程学习整理 感谢百度 PARL 团队李科浇老师的课程讲解 强化学习算法 DQN 解决 CartPole 问题 移动小车使得车上的摆杆保持直立 这个游戏环境可以说是强化学习中的 Hello World 大
  • 基于LayUI使用FullCalendar实现日程管理

    引言 最新工作中需要实现日程管理功能 由于技术选型 基于layui 限制 从网上对比查询最终选定使用FullCalendar插件来实现日程管理 其中对比的日程还有XgCalendar Google Calendar 实现效果 1 打开界面后
  • php--如何编写一个简易的论坛

    include3 php 数据库连接 function doDB global conn3 conn3 mysqli connect localhost root php project01 if mysqli connect errno
  • 通用视觉大模型综述

    背景 近两年视觉大模型发展很快 各家公司已经训练出自己的视觉大模型 包括微软的 swin transformer 系列 Google 的 vit 系列以及 150 亿参数量的 V MOE 模型 从paperwithcode榜单上可以看到 目
  • STM32HAL库CubeMX配置ADC多通道选择读取(非DMA)

    CubeMX配置ADC多通道选择读取 非DMA 最近在做项目时需要stm32f103分别读取角度传感器值和电压值 采用HAL库 CubeMX方式并没有找到像标准库一样直接可以调用ADC RegularChannelConfig 函数选择AD
  • 基于Spring + Spring MVC + Mybatis 高性能web构建

    原文地址 http blog csdn net zoutongyuan article details 41379851 参考地址 http blog csdn net gebitan505 article details 44455235
  • @PathVariable注解的简单使用,常用于restful传参

    1 测试代码的控制层 GetMapping getChapterInfo1 id name public R getChapterInfo1 PathVariable id String chapterId PathVariable nam
  • 秒杀系统(二)——商品模块展示技术难点

    秒杀系统 商品模块展示技术难点 商品详情页 商品详情页是展示商品详细信息的一个页面 承载在网站的大部分流量和订单的入口 京东商城目前有通用版 全球购 闪购 易车 惠买车 服装 拼购 今日抄底等许多套模板 各套模板的元数据是一样的 只是展示方
  • 设备全生命周期管理系统软件平台

    设备全生命周期管理系统软件平台 设备全生命周期管理系统构建设备全生命周期管理平台是解决当下设备管理问题 实现设备效能利用最优化的重要举措 设备全生命周期管理系统哪些特点 设备全生命周期管理系统传统意义上的设备管理工具或软件 往往局限在业务层
  • 如何利用Python中实现高效的网络爬虫

    目录 怎么提高爬虫效率 代码示例 使用合适的库 并发和异步 使用缓存 优化请求频率 错误处理和重试 测试和调优 注意事项 在数字化时代 网络爬虫已成为获取和分析数据的重要工具 Python作为一种功能强大的编程语言 拥有丰富的库和工具 可以
  • MATLAB小技巧(14)三角函数作图

    MATLAB小技巧 14 三角函数作图 前言 一 MATLAB仿真 二 仿真结果 三 小结 前言 MATLAB进行图像处理相关的学习是非常友好的 可以从零开始 对基础的图像处理都已经有了封装好的许多可直接调用的函数 这个系列文章的话主要就是
  • win7/win10安装Ubuntu20.04双系统详细操作步骤

    0 磁盘分区 我的电脑 右键 管理 磁盘管理 选择一个盘 安装Ubuntu 我选的是F盘 右键 压缩卷 选择压缩大小 20G以上 1 Ubuntu安装包下载 方法一 官网下载20 04最新版本 URL https ubuntu com 方法
  • 数据库课程设计------书店管理系统

    书店会员管理系统 具体的效果图看博客 书店管理系统2 https blog csdn net qq 45981397 article details 124062654 spm 1001 2014 3001 5502 需求分析 1 信息需求
  • oracle游标双循环

    oracle双循环 循环资源表 T SYS RESOURCE 和角色表 T SYS ROLE 插入角色资源表t sys role resource declare a表游标定义 cursor a SYS RESOURCE cur is SE
  • 傻白入门芯片设计,史上最最最全DRAM介绍(十二)

    目录 1 DRAM单元阵列 1 1 DRAM基本单元 1 2 cell阵列 1 3 cell阵列的读取 1 4 DRAM刷新 2 DRAM芯片的读写 2 1 必须的周围逻辑 2 2 完整的读过程 重点 2 3 完整的写过程 2 4 时间消耗
  • javascript 数组一键乱序

    方法1 给数组原生的sort方法传入一个函数 此函数随机返回1或 1 达到随机排列数组元素的目的 const arr1 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 const shuffleArray arr g