javascript 检查我的数组是否有连续的随机生成的相似字母

rryofs0p  于 2023-02-18  发布在  Java
关注(0)|答案(1)|浏览(92)

我必须生成200个用逗号分隔的随机数(函数必须这么做)。它们是否重复无关紧要,但不能连续。如果它们连续,我必须用我的函数随机生成的新字母替换它。我是编程新手。我也不能修改我的函数作为约束。
为了输出,我生成10个数字而不是200个。
这是我的工作代码。我只是不能管理添加一个新的随机字母,我删除了重复。

const characters = 'abcdefghijklmnopqrstuvwxyz';

function getRandomLetter() { return characters.charAt(Math.floor(Math.random() * characters.length)).toUpperCase(); }

var randomLetters = [];

for (let j = 0; j < 10; j++) { randomLetters [j] = getRandomLetter(); }

document.write("10 random letters: ", randomLetters );

let uniqueArr = [];

for(let i of randomLetters) {
    if(uniqueArr.indexOf(i) === -1) {
        uniqueArr.push(i);
    }
}
document.write("10 random letters without duplicates: ", uniqueArr);

``

zqry0prt

zqry0prt1#

为了增加连续字母的机会,我从字符常量中删除了大部分字母。

const characters = 'abcde';
prev = '';
function getRandomLetter() {
var newChar = characters.charAt(Math.floor(Math.random() * characters.length)).toUpperCase();
if(newChar == prev){
console.log("consecutive");
  return getRandomLetter();
}else{
  prev = newChar;
  return newChar;
}
}

var randomLetters = [];

for (let j = 0; j < 10; j++) { randomLetters [j] = getRandomLetter(); }

document.write("10 random letters: ", randomLetters );

let uniqueArr = [];

for(let i of randomLetters) {
    if(uniqueArr.indexOf(i) === -1) {
        uniqueArr.push(i);
    }
}
document.write("10 random letters without duplicates: ", uniqueArr);

相关问题