本帖最后由 moriyunluo 于 2014-06-17 14:45:34 编辑

解决方案 »

  1.   

    你可能需要的是这个a = [1,2,3,4];
    res = [];
    for(i=0; i<=Calculation(a.length); i++) {
      s = i.toString(2);
      len = s.length;
      t = [].concat(a);
      for(j=0; j<=len; j++) {
        if(s.charAt(j) == '1') t.splice(len-j,0,'_');
      }
      res.push(t.join(''));
    }
    document.write(res);function Calculation(n) {
      var Combination = function(m, n) {
        return Factorial(m)/Factorial(n)/Factorial(m-n);  };
      var Factorial = function(n) {
        for(var i=1,r=1; i<n; i++,r*=i);
        return r;
      };
      s = 0;
      for(var i=1; i<n; i++) s += Combination(n-1,i);
      return s;
    }
    1234,1_234,12_34,1_2_34,123_4,1_23_4,12_3_4,1_2_3_4