Javascript 具有随机唯一整数的数组(0到Array.length-1)

Javascript 具有随机唯一整数的数组(0到Array.length-1),javascript,arrays,Javascript,Arrays,这个问题是如何生成一个包含所有唯一固定整数的数组,其最大值等于数组的长度-1 结果数组示例: [3,6,4,2,1,5,0] 独一无二的 随机的 最高编号位于索引(6)的最高编号中 这个不是: [3,16,4,22,19039,555,0] 在我的解决方案中,我们按照[1,2,3]的顺序创建一个数字数组调用ArrayOfNumber 然后我们创建一个空数组调用randomArray 我们通过在第一步中创建的数组forEach循环 我们根据数组的长度生成一个随机数,并在整个forEach循环中

这个问题是如何生成一个包含所有唯一固定整数的数组,其最大值等于数组的长度-1

结果数组示例: [3,6,4,2,1,5,0]

  • 独一无二的
  • 随机的
  • 最高编号位于索引(6)的最高编号中
这个不是: [3,16,4,22,19039,555,0]

  • 在我的解决方案中,我们按照[1,2,3]的顺序创建一个数字数组调用ArrayOfNumber
  • 然后我们创建一个空数组调用randomArray
  • 我们通过在第一步中创建的数组forEach循环
  • 我们根据数组的长度生成一个随机数,并在整个forEach循环中减少它
  • 然后将随机数从ArrayOfNumber推送到randomArray
  • 同时(循环)在从arrayOfNumbers中推送一个随机数之后,我们使用arrayOfNumbers方法将其从arrayOfNumbers中删除(因此我们不能再使用它)
  • 我们将长度缩短1,因此只能在arrayOfNumbers数组的长度中生成随机数。所以下次我们调用arrayOfNumbers[random]时,我们将从这个数组中得到一个唯一的数字
函数随机数(多少){
ArrayOfNumber=[];
for(设i=0;i{
const random=Math.floor(Math.random()*长度);
randomArr.push(ArrayOfNumber[随机]);
arrayOfNumbers.splice(arrayOfNumbers.indexOf(arrayOfNumbers[random]),1);
长度--
});
返回随机数;
};

控制台日志(随机数(101))首先填充序列数组,然后在compareFunction中返回随机结果进行排序

让arrLen=7,resArr=[]
for(设i=0;i{
让ranBool=Math.floor(Math.random()*2)
//返回0或-1,这将保留整数或在第一个整数之前对第二个整数进行排序
返回兰布尔-1
})

console.log(resArr)
您能计算“正确”数组中的元素并告诉我们结果吗?您只是要求从1到数组的数组length@MUHAMMADILYAS是的,但数字需要以随机顺序排列,作为符号链接的答案。