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);
  }
}