当前位置: 首页 / 技术干货 / 正文
js打乱数组的方法是什么?

2023-06-27

js 前端 南昌 北京

  在JavaScript中,有多种方法可以打乱数组的顺序。下面介绍几种常用的方法:

  1. Fisher-Yates洗牌算法:

  Fisher-Yates算法是一种常用的数组打乱算法,其思想是从数组末尾开始,依次选取一个元素与当前位置交换,直到遍历完整个数组。具体实现如下:

function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
// 示例用法
const myArray = [1, 2, 3, 4, 5];
const shuffledArray = shuffleArray(myArray);
console.log(shuffledArray);

   这个方法通过使用Math.random()函数来生成一个0到1之间的随机数,然后根据这个随机数来决定交换位置。

  2. 使用Array.sort()方法:

  另一种简单的方法是使用Array.sort()方法结合Math.random()函数来对数组进行排序,代码如下:

function shuffleArray(array) {
return array.sort(() => Math.random() - 0.5);
}
// 示例用法
const myArray = [1, 2, 3, 4, 5];
const shuffledArray = shuffleArray(myArray);
console.log(shuffledArray);

   这种方法是基于Array.sort()方法的排序算法,通过随机生成的负数、零和正数来对数组进行排序,从而实现打乱数组的效果。

  3. 使用lodash库:

  如果你使用了lodash库,它提供了_.shuffle()方法来打乱数组的顺序。使用方法非常简单:

const shuffledArray = _.shuffle(myArray);
console.log(shuffledArray);

   这个方法会返回一个新的打乱顺序的数组,不会修改原始数组。

  以上是一些常见的方法来打乱JavaScript数组的顺序。根据你的需求和使用的情况,选择适合的方法来实现数组的打乱。

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号