Generate all possible combinations of a set of characters javascript

How to generate letter in all possible combinations with specific length limit? in javascript

// return [aaaa, bbbb]

function allPossibleCombinations[inputArray, outputEachStrLength] {
  var inputArrayLength = inputArray.length;
  for [i = 0; i < inputArrayLength; i++] {

  }
}

var inputArray = [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];
var outputEachStrLength = 4;
allPossibleCombinations[inputArray, outputEachStrLength]

//jsfiddle.net/0jqkpLmv/

In this article, we are going to see we can generate all the possible combinations of a given string using JavaScript methods or concepts.

You are given a string, containing different characters, you need to generate all combinations of a string by selecting a character at once and then re-arranging that character with other characters in such a way all the combinations could be generated and printed easily in our output.

There are several approaches to solve this particular problem and we will discuss each of them one by one, but let’s first of all understand what exactly we need to implement.

Following pictorial representations describes the scenario of generating all possible combinations of a given string.

Dog => Possible Combination [D], [Do], [Dog], [o], [og], [g]

As an example [mentioned in the above pictorial representation] a string named ‘”Dog” can be further split into multiple strings like “D” , “Do” and so on.

Following are the several approaches to generate all the combinations of a string in JavaScript-

Approach 1:

  • In this approach we will use the data structure called an array and will run two for loops on the given string which is actually the main logical part of our code
  • Further we will use .push[] and .slice[] method to add our result into an array.

Example:

Javascript

let possibleCombinations = [str] =>{

    let combinations = [];

      for[let i = 0 ;i < str.length; i++]

    {

        for[let j = i + 1; j< str.length + 1; j++]

        {

            combinations.push[str.slice[i , j]];

        }

    }

   return combinations;

}

console.log[possibleCombinations['Dog']];

Output: The output of the above program will be as follows.

[ 'd', 'do', 'dog', 'o', 'og', 'g' ]

Approach 2:

  • In this approach we will again be using an array as our result printing variable and we will take our current index value as starting value [which is 0].
  • Then we will run a while loop and inside that while loop we will store our character present at our current index value using .charAt[] method.
  • Then we will declare a temporary array in which we will store that character obtained.
  • Then we will run a for-in loop where in we will push our result and thereafter we will add our result in the result variable using .concat[] method and we will then increment our current index variable value.

Example: 

Javascript

let stringCombinations = [str] => {

  let strLength = str.length;

  let result = [];

  let currentIndex = 0;

  while [currentIndex < strLength] {

    let char = str.charAt[currentIndex];

    let x;

    let arrTemp = [char];

    for [x in result] {

      arrTemp.push["" + result[x] + char];

    }

    result = result.concat[arrTemp];

    currentIndex++;

  }

  return result;

};

console.log[stringCombinations["dog"]];

Output: The output of the above code will be as follows.

 [ 'd', 'o', 'do', 'g', 'dg', 'og', 'dog' ]

Approach 3:

  • In this approach, we will use two arrays one is temporary which will initially store our results and at the end we will add our results in the second result array.
  • Here we will use firstly a for loop and inside that for loop we will add each character character of a string in the temporary array and then we will take starting index value as 0.
  • Then inside the while loop we will use .push[] method to push our result into the temporary array and increment the current index value.
  • Then after the while loop we will add the result into our result array from the temporary array and then print the result array.

Example: 

Javascript

let combinations = [str] => {

  let tempArr = [];

  let resultArr = [];

  for [let i = 0; i < str.length; i++] {

    tempArr = [str[i]];

    let index = 0;

    while [resultArr[index]] {

      tempArr.push["" + resultArr[index] + str[i]];

      index++;

    }

    resultArr = resultArr.concat[tempArr];

  }

  return resultArr;

};

console.log[combinations["dog"]];

Output: The output of the above program will be.

[ 'd', 'o', 'do', 'g', 'dg', 'og', 'dog' ]

How do you figure out combinations of a set of characters?

The formula for combinations is generally n! / [r! [n -- r]!], where n is the total number of possibilities to start and r is the number of selections made. In our example, we have 52 cards; therefore, n = 52.

How do you get all the combinations of characters in a string?

Algorithm is copied below. void combine[String instr, StringBuffer outstr, int index] { for [int i = index; i < instr. length[]; i++] { outstr..
append a character..
print the result..
perform a recursive invocation at the level i+1..
remove the character we added at step 1..

How do you generate all possible combinations of one list?

Add a Custom Column to and name it List1. Enter the formula =List1. Expand out the new List1 column and then Close & Load the query to a table. The table will have all the combinations of items from both lists and we saved on making a custom column in List1 and avoided using a merge query altogether!

How can I create every combination possible for the contents of two arrays?

const arr1 = ["A","B","C"]; const arr2 = ["1","2","3"]; We are required to write a JavaScript function that takes in two such arrays of literals. The function should then combine each element of the first array with each element of the second array and push them into a new array.

Chủ Đề