JSFiddle - React, Tailwind, and code Playground
by sandro_paganotti
JavaScript
function words(numbers){
if(numbers.length === 0){
return false;
}
var number = numbers[0];
var letters = [];
if(number === 0 || number === 1){
letters.push("" + number);
}else{
for(var x=0; x < 3; x++){
letters.push(getLetter(number,x));
}
}
if(numbers.length === 1){
return letters;
}else{
var tmpWords = words(numbers.slice(1));
var mergedWords = [];
for(var y=0; y < letters.length; y++){
for(var k=0; k < tmpWords.length; k++){
mergedWords.push(letters[y] + tmpWords[k]);
}
}
return mergedWords;
}
}
function getLetter(n,i){
console.log(n,i);
return {
2: ['A','B','C'],
3: ['D','E','F'],
4: ['G','H','I'],
5: ['J','K','L'],
6: ['M','N','O'],
7: ['P','R','S'],
8: ['T','U','V'],
9: ['W','X','Y']
}[n][i];
}
console.log(words([3,3,4,5,7,1]));