Created
December 20, 2016 07:06
-
-
Save stephenhandley/54e2d79266f0073a981caf9353034ef0 to your computer and use it in GitHub Desktop.
jumble
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function jumble (word) { | |
function _jumble (args) { | |
var letters = args.letters; | |
var words = args.words; | |
if (letters.length === 0) { | |
return words; | |
} | |
var letter = letters.pop(); | |
if (words.length === 0) { | |
return _jumble({ | |
words: [letter], | |
letters: letters | |
}) | |
} | |
var next_words = []; | |
words.forEach(function (word) { | |
for (var i = 0; i <= word.length; i++) { | |
var next_word = word.split(''); | |
next_word.splice(i, 0, letter); | |
next_words.push(next_word.join('')); | |
} | |
}); | |
return _jumble({ | |
words: next_words, | |
letters: letters | |
}); | |
} | |
return _jumble({ | |
words: [], | |
letters: word.split('') | |
}); | |
} | |
var words = jumble('miocen'); | |
console.log('Generated ' + words.length + ' words'); | |
var has_income = (words.indexOf('income') !== -1); | |
console.log('Has income? ' + (has_income ? 'Yes' : 'No')); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment