w3resource

JavaScript: Get all possible subset with a fixed length combinations in an array

JavaScript Function: Exercise-21 with Solution

Write a JavaScript function to get all possible subset with a fixed length (for example 2) combinations in an array.

Sample array : [1, 2, 3] and subset length is 2

Expected output : [[2, 1], [3, 1], [3, 2], [3, 2, 1]]

Sample Solution: -

HTML Code:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript array subset</title>
</head>
<body>

</body>
</html>

JavaScript Code:

function subset(arra, arra_size)
 {
    var result_set = [], 
        result;
    
   
for(var x = 0; x < Math.pow(2, arra.length); x++)
  {
    result = [];
    i = arra.length - 1; 
     do
      {
      if( (x & (1 << i)) !== 0)
          {
             result.push(arra[i]);
           }
        }  while(i--);

    if( result.length >= arra_size)
       {
          result_set.push(result);
        }
    }

    return result_set; 
}

console.log(subset([1, 2, 3], 2));

Sample Output:

[[2,1],[3,1],[3,2],[3,2,1]]

Flowchart:

Flowchart: JavaScript function: Get all possible subset with a fixed length combinations in an array

Live Demo:

See the Pen JavaScript - Get all possible subset with a fixed length combinations in an array-function-ex- 21 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript function that generates a string id (specified length) of random characters.
Next: Write a JavaScript function that accepts two arguments, a string and a letter and the function will count the number of occurrences of the specified letter within the string.

What is the difficulty level of this exercise?



Inviting useful, relevant, well-written and unique guest posts