Skip to content

Instantly share code, notes, and snippets.

@stephenhandley
Created December 20, 2016 07:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stephenhandley/54e2d79266f0073a981caf9353034ef0 to your computer and use it in GitHub Desktop.
Save stephenhandley/54e2d79266f0073a981caf9353034ef0 to your computer and use it in GitHub Desktop.
jumble
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