我有一个字符串
var letters="ABCDEFGHIJK";
我如何从中挑选4个随机字符。 使用Math.random()或其他东西?
输出应该花费类似的东西:
DAKF or FAHG ...
祝你好运
答案 0 :(得分:0)
您可以shuffle并选择前4名(或最后4位)字符
var shuffled = (str) => str.split('').sort(function() {
return 0.5 - Math.random();
}).join('');
var letters = "ABCDEFGHIJK";
console.log(shuffled(letters).slice(-4)); //last 4
console.log(shuffled(letters).slice(-4)); //last 4
console.log(shuffled(letters).substring(0,4)); //top 4

答案 1 :(得分:0)
如果允许多个实例使用相同的字符,则实现可能如下所示:
var letters="ABCDEFGHIJK";
var arr=letters.split("");
var str="";
var num=0;
while(num<4){
str+=arr[Math.floor(Math.random()*10)];
num++;
}
console.log(str);
如果您想要Math.random中的唯一字母:
var letters="ABCDEFGHIJK";
var arr=letters.split("");
var str="";
var num=0;
while(num<4){
var char=arr[Math.floor(Math.random()*10)];
if(str.includes(char)){
continue;
}
else{
str+=char;
num++;
}
}
console.log(str);
答案 2 :(得分:0)
我会将你的字母变成一个数组并使用以下代码:
var letters=["A","B","C","D","E","F","G","H","I","J","K"];
for (i = 0; i < 4; i++){
var number = Math.floor((Math.random() * 10));
console.log(letters[number]);
}
如果你希望彼此后面显示的字母创建一个新变量,并在每次循环时连接新变量中的字母。