【问题标题】:Javascript create an array from randomizing an array values without duplicates?Javascript通过随机化没有重复的数组值来创建一个数组?
【发布时间】:2026-01-13 16:25:01
【问题描述】:

我必须使用 java 脚本从长度为 4 的数组中随机生成一个长度为 3 的数组表示 [3,2,1]..。

  var ele=[1,2,3,4];

我必须生成一个新数组 var three=new Array(3);

数组“three”的值应该随机化,不重复数组“ele”。

 ex three=[3,2,4]... 

这是我试过的代码,

var tempArray=[1,2,3,4];
var set_bf =[];
for(var k=0;k<tempArray.length;k++){
    var rand=(Math.round((Math.random()*tempArray.length)));
    set_bf.push(rand);
    console.log('male :'+rand);
    var idx = tempArray.indexOf(rand);
    if(idx!=-1) tempArray.splice(idx, 1);
}

【问题讨论】:

  • 你试过什么?你在哪里遇到麻烦?你的最大努力是什么样的? SO 不是代码编写服务。 :-)
  • 是的,数组“three”应该从“ele”创建一次
  • 检查我尝试过的代码随机化相同

标签: javascript arrays random


【解决方案1】:

我想你想从另一个数组中选择随机条目?

var rand = myArray[Math.floor(Math.random() * myArray.length)];

这将为您提供来自数组 myArray 的随机元素,这至少应该为您指明正确的方向

【讨论】: