搜尋

首頁  >  問答  >  主體

javascript - js給出所有組合

#如何得出多有組合?
用js
有好的想法指點一下嗎~

过去多啦不再A梦过去多啦不再A梦2753 天前421

全部回覆(4)我來回復

  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:17:45

    考來的。 。 。

    function permute(input) {
      var permArr = [],
      usedChars = [];
      function main(input){
        var i, ch;
        for (i = 0; i < input.length; i++) {
          ch = input.splice(i, 1)[0];
          usedChars.push(ch);
          if (input.length == 0) {
            permArr.push(usedChars.slice());
          }
          main(input);
          input.splice(i, 0, ch);
          usedChars.pop();
        }
        return permArr;
      }
      return main(input).join('\n');
    };
    console.log(permute(['foo','bar','hello','world']));

    回覆
    0
  • 怪我咯

    怪我咯2017-05-19 10:17:45

    var arr = ['foo', 'bar', 'hello', 'world']; 
    
    // 4 3 2 1 
    var first = {}
    var result = []; 
    arr.forEach((first, idx, its) => {
        its.filter(e => e!==first).forEach((sec, idx, its) => {
            its.filter(e => e!==sec).forEach((third, idx, its)=> { 
                its.filter(e => e!=third).forEach((forth, idx, its) => {
                    console.log(first, sec, third, forth); 
                    result.push(first + sec + third + forth); 
                }); 
            });
        });
    });

    = = 喪心病狂的遍歷。 。 。

    回覆
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:17:45

    可以用有向圖方法,得到四個節點所有路徑

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-19 10:17:45

    棧和佇列

    回覆
    0
  • 取消回覆