JavaScript实现数组随机打乱的两种方法
本文介绍在JavaScript中随机打乱数组的两种实现方式。第一种为自定义交换算法,通过多次随机交换元素位置实现;第二种利用数组内置的sort方法配合Math.random生成随机比较结果。文中提供了完整的代码示例及运行结果,并推荐了相关的在线工具供开发者使用。
JavaScript数组随机打乱实现方案
本文详细介绍在JavaScript中实现数组随机打乱的几种常见方案,供开发者参考与借鉴。
基础随机交换算法
一、基础随机交换算法
function fnLuanXu(num) {
var aLuanXu=[];
for (var i = 0; i < num; i++) {
aLuanXu[i] = i;
}
for (var i = 0; i < num; i++) {
var iRand = parseInt(num * Math.random());
var temp = aLuanXu[i];
aLuanXu[i] = aLuanXu[iRand];
aLuanXu[iRand] = temp;
//console.log('i='+i+';temp='+temp+';rand='+iRand+';array['+i+']='+aLuanXu[i]+';array['+iRand+']='+aLuanXu[iRand]+';array=['+aLuanXu+'];');
}
return aLuanXu;
}
//测试:
console.log(fnLuanXu(6));
运行结果:

基于内置sort函数的排序方案
二、基于内置sort函数的排序方案
function fnLuanXu(num) {
var aLuanXu=[];
for (var i = 0; i < num; i++) {
aLuanXu[i] = i;
}
aLuanXu.sort(function(){return Math.random()>0.5?-1:1;})
return aLuanXu;
}
//测试:
console.log(fnLuanXu(7));
运行结果:

补充推荐以下相关在线工具供参考:
在线随机数字/字符串生成工具: http://tools.jb51.net/aideddesign/suijishu
在线中英文根据首字母排序工具: http://tools.jb51.net/aideddesign/zh_paixu
在线文本倒序翻转排序工具: http://tools.jb51.net/aideddesign/flipped_txt
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
