【JS】随机打乱数组的方法

这篇具有很好参考价值的文章主要介绍了【JS】随机打乱数组的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 数组对象

使用

this.list=[
	{src:'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3',num:0},
	{src:'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4',num:1},
	{src:'22',num:2},
	{src:'33',num:3},
	{src:'44',num:4}]
this.list = this.shuffle(this.list);
console.log(this.list)

随机播放列表案例
首先要明确,我们对播放列表打乱的前提是不能对原数组进行更改的

//获取min和max之间的一个随机整数[5,100];
function getRandomInt(min,max){
	return Math.floor(Math.random()*(max-min+1))+min;
}

//打乱数组
function shuffle(arr){
	let _arr = arr.slice(); //slice不会影响原来的数组,但是splice就会影响原来的arr数组
	for (let i = 0; i<_arr.length; i++;){
		let j = getRandomInt(0,i);
		let t = _arr[i];
		_arr[i] = _arr[j];
		_arr[j] = t;
	}
	return _arr;
}

二 纯数字数组

var a = [1, 2, 3, 4, 5];
a.sort(randomSort);
console.log(a);
function randomSort(a, b) { return Math.random() > 0.5 ? -1 : 1; }

结果:[5, 3, 2, 1, 4]文章来源地址https://www.toymoban.com/news/detail-670661.html

到了这里,关于【JS】随机打乱数组的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • np.random.shuffle()+random.seed()设定随机种子,多次打乱,打乱规则固定

    在打乱数据集的时候遇到了这样一个问题:我有两组数据集,一组是image,一组是mask(语义分割任务,与本文无关),image和mask里都是图片,且一一对应,即 image里的第一张图片对应mask里的第一张图片 ,不能乱,因此打乱数据集的时候要对image和mask 以同样的顺序打乱 。 比

    2024年02月04日
    浏览(46)
  • MATLAB随机打乱矩阵(按行或列)

    2024年02月11日
    浏览(40)
  • 机器学习数据顺序随机打乱:Python实现

      本文介绍基于 Python 语言,实现机器学习、深度学习等模型训练时, 数据集打乱 的具体操作。   在机器学习中,如果不进行数据集的打乱,则可能导致模型在训练过程中出现具有“ 偏见 ”的情况,降低其泛化能力,从而降低训练精度。例如,如果我们做深度学习的分

    2024年02月05日
    浏览(71)
  • BCSP-玄子前端开发之JavaScript+jQuery入门CH07_ECMAScript 6基础

    4.7.1 ECMAScript 6 简介 ECMAScript 6.0(简称 ES6) 是JavaScript语言的下一代标准 正式发布于2015年6月 目标 使JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言 版本升级 ECMAScript 2015 ECMAScript 2016 ECMAScript 2017 ECMAScript和JavaScript 的关系 前者是后者的规格,后者是前者的

    2023年04月27日
    浏览(54)
  • 前端Javascript | 数组值随机选择函数

    为了解决 postman 传参数据定制化,需要写一点前置脚本,有用到随机选取数组中的值来造数据。

    2024年02月07日
    浏览(49)
  • 【LeetCode.384打乱数组】Knuth洗牌算法详解

    前两天看网易面筋得知网易云的随机歌曲播放使用了这个算法,遂找题来做做学习一下 https://leetcode.cn/problems/shuffle-an-array/ 给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是 等可能 的。 实现 Solution class: Solution(int[] nums) 使用

    2024年02月08日
    浏览(36)
  • JS中数组随机排序实现(原地算法sort/shuffle算法)

    🐱个人主页: 不叫猫先生 🙋‍♂️作者简介:专注于前端领域各种技术,热衷分享,期待你的关注。 💫系列专栏:vue3从入门到精通 📝个人签名:不破不立 在谈sort之前,我们先了解一下原地算法,什么事原地算法呢?所谓 原地算法 就是说基于原有的数据结构进行一定的

    2023年04月08日
    浏览(43)
  • [从零开发JS应用] 如何在VScode中配置Javascript环境,常见的调试方法有哪些?

    记录环境配置:本文配置的环境主要针对单独JS文件的断点调试,主要是为了调试LeetCode里面的代码。 首先在官网下载对应的版本:https://nodejs.org/en/ 开始安装,可以自定义选择安装路径。 这里 选择Add Path ,系统变量会自动设置,但是用户变量并没有自动设置,需要的话可以

    2024年02月04日
    浏览(56)
  • 【JS】js数组分组,javascript实现数组的按属性分组

    项目代码中有很多时候需要按一定的条件实现按属性分组 你可以使用JavaScript的 Array.prototype.reduce() 方法来将数组分组。这是一种高级的方法,它可以将数组元素组合成一个单值。在这种情况下,你可以使用它来把数组元素放到一个对象中,其中对象的键是分组的条件,值是所

    2023年04月08日
    浏览(50)
  • 3分钟搞懂:JavaScript 和 ECMAScript

    ECMAScript 是 JavaScript 语言的 国际标准 ,JavaScript 是 ECMAScript 的 一种实现 (Adobe ActionScript 和 JScript 同样实现了 ECMAScript)。 ECMAScript 是欧洲计算机制造商协会 ECMA(European Computer Manufacturers Association)发布的浏览器脚本语言标准。它是 262 号标准文件,又叫 ECMA-262。 ECMAScript 定义

    2023年04月22日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包