偶然の産物?組み合わせを返すコード

const repeatedCombination =
  (function (n)
    (function (r, c, i, a)
      r.concat
        ((1 == n)
         ? [c]
         : a.reduce (repeatedCombination (n-1), []) //←arguments.callee じゃないのがイマイチ
            .map ((function (q) this.concat (q)), [c])))) //←これを外側で定義

var enzan = ['+', '-', '*', '/'];

alert(enzan.reduce (repeatedCombination (4), []).join ('\n'));

あれこれ試しているうちに、偶然に動いたようなもの。

// 例 (2)
var log = [ ];
var walker = createWalker (document);
for (n in walker) { // ←←←
 log.push (n);
}
alert (log.join ('\n'));

このコードは始めてみました


>ここまで来たら、行くしかないでしょう。
24という答えの組み合わせを、計算するには時間が必要なので
タイマー処理が必要だと考えてました。

もしくは、行くしかないのですね。 (^^;