Search code examples
javascriptjqueryarrayssubstr

Take random letters out from a string


I want to remove 3 RANDOM letters from a string.

I can use something like substr() or slice() function but it won't let me take the random letters out.

Here is the demo of what I have right now.

http://jsfiddle.net/euuhyfr4/

Any help would be appreciated!


Solution

  • var str = "hello world";
    for(var i = 0; i < 3; i++) {
        str = removeRandomLetter(str);
    }
    alert(str);
    
    function removeRandomLetter(str) {
        var pos = Math.floor(Math.random()*str.length);
        return str.substring(0, pos)+str.substring(pos+1);
    }
    

    If you want to replace 3 random charc with other random chars, you can use 3 times this function:

    function substitute(str) { 
        var pos = Math.floor(Math.random()*str.length); 
        return str.substring(0, pos) + getRandomLetter() + str.substring(pos+1); 
    } 
    function getRandomLetter() { 
        var  letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; 
        var pos = Math.floor(Math.random()*letters.length); 
        return letters.charAt(pos); 
    }