SAKSoomro
SAKSoomro

Reputation: 25

transform characters randomly in javascript

I want to transform text randomly in javascript. e.g: raNDomlYrAnDfomR

const characters = "shoaib ali khan soomro";

  function generateString(length) {
    let result = " ";
    const charactersLength = characters.length;
    for (let i = 0; i < length; i++) {
      result += characters.charAt(Math.floor(Math.random() * charactersLength));
    }

    return result;
  }
  let length = characters.length;
  console.log(generateString(length));

Upvotes: 1

Views: 30

Answers (1)

Unmitigated
Unmitigated

Reputation: 89294

For ASCII, you can XOR the character code with 32 to switch the case.

function generateString(str) {
  return [...str].map(c => Math.random() < .5 ? c : 
    String.fromCharCode(c.charCodeAt() ^ 32)).join('');
}
console.log(generateString("shoaib ali khan soomro"));

Upvotes: 1

Related Questions