Reputation: 25
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
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