[算法]连续递增数组随机排序

给定几个连续的整数集合,如何通过一个系数 进行处理, 使此集合随机生成排序?

{x,x+1,x+2,x+3}希望这里的数,通过某个变量处理后 能**随机变成** {x+2,x,x+3,x+1},{x+1,x,x+2,x+3}之类的
说一下 实际使用场景:
在周一至周五内,根据当周生成一个 排列数组,不同周 排列不同,
例如:
图片说明

第一周(7.1至7.5日) 生成的是{x,x+3,x+1,x+2,x+4}

第二周(7.8至7.12) 生成的是{x+3,x+4,x+2,x,x+1}

每周生成的数组 不使用变量保存,而是在当周每天获取其中一个数。

希望有这么一个 可用日期获取的 变量y,使其 y与 {x,x+1,x+2,x+3} 集合里的**各个数运算**后,可得到随机数据集合{x+1,x,x+3,x+2}

random.nextInt(0,4)
随机生成一个0~3的数字,加上x

如果数组中都是number数据类型的话这里有两个方法可供使用,一个是比较原生的
var testArray=[-2,23,34,300,500,1000];
const length = testArray.length;
for (let i = 0; i < testArray.length; i++) {
const x = Math.floor(Math.random() * length);
const y = Math.floor(Math.random() * length);
const temp = testArray[x];
testArray[y] = testArray[x];
testArray[x] = temp;
}
console.log(testArray);
另一个代码比较优雅,但是一定需要去理解
var testArray=[-2,23,34,300,500,1000];
testArray.sort(function(){return Math.random()>0.5?-1:1;});

补充一下
Math.random()方法的作用是返回介于 0(包含) ~ 1(不包含) 之间的一个随机数:
Array.sort()方法用于数组,将其中对象进行排序(通常情况为升序)
1.如果其中是number,将数组中的值按从小到大进行排序
2.如果其中元素类型为字母,则按字母顺序进行排序