JSFiddle - React, Tailwind, and code Playground
by Vignesh Gopalakrishnan
JavaScript
let keypad = [
[],[],
['a','b','c'],
['d','e','f'],
['g','h','i'],
['j','k','l'],
['m','n','o'],
['p','q','r','s'],
['t','u','v'],
['w','x','y','z'],
];
let input = [2,7,8,5];
let iterationLength = input.length;
let wordCombination = "";
let permutation = [];
iterateInput(input);
console.log(permutation);
function iterateInput(input){
for(var i=0; i<input.length; i++){
printCharacter(keypad[input[i]],i);
}
}
function printCharacter(alphabets,i){
if(iterationLength-1==i){
iterateSingleArray(alphabets);
iterationLength = iterationLength-1;
}else{
for(let i=0; i<alphabets.length; i++){
wordCombination = wordCombination+alphabets[i];
}
}
}
function iterateSingleArray(arr){
for(var i=0; i<arr.length; i++){
var output = [wordCombination.slice(0, iterationLength), arr[i], wordCombination.slice(iterationLength)].join('');
permutation.push(output);
}
}