comb

by ganeshie8

JavaScript

function comb(n,set) {
  var power_set=[];
  for(i=0; i<(1<<set.length); i++) {
    var subset=[];
    for(j=0; j < set.length; j++) {
      (i&(1<<j)) && subset.push(set[j]);
    }
      if(subset.length==n) {power_set.push(subset)};
  }
  return power_set;
}

var set=['a','b','c','d'];

$("body").append(comb(3, set).map(function(e){return "{"+e+"}"}).join("<br/>"));