国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - Saya tidak faham fungsi, sila beri saya nasihat?
ringa_lee
ringa_lee 2017-07-05 10:54:47
0
2
816
function choose(arr, size) {
  var allResult = [];

  (function (arr, size, result) {
    var arrLen = arr.length;
    if (size > arrLen) {
      return;
    }
    if (size == arrLen) {
      allResult.push([].concat(result, arr))
    } else {
      for (var i = 0; i < arrLen; i++) {
        var newResult = [].concat(result);
        newResult.push(arr[i]);

        if (size == 1) {
          allResult.push(newResult);
        } else {
          var newArr = [].concat(arr);
          newArr.splice(0, i +  1);
          arguments.callee(newArr, size - 1, newResult);
        }
      }
    }
  })(arr, size, []);

  return allResult;
}
ringa_lee
ringa_lee

ringa_lee

membalas semua(2)
女神的閨蜜愛上我

Ini adalah permutasi dan pelaksanaan gabungan menggunakan ilmu hitam Fungsi yang dicapai adalah secara kasar:

  • pilih([1, 2, 3], 1) mendapat [ [ 1 ], [ 2 ], [ 3 ] ]

  • pilih([1, 2, 3], 2) mendapat [ [ 1, 2 ], [ 1, 3 ], [ 2, 3 ] ]

  • pilih([1, 2, 3, 4], 3) mendapat [ [ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 3, 4 ], [ 2, 3, 4 ] ]

Fungsi tanpa nama dalaman memanggil dirinya secara rekursif melalui arguments.callee Setiap kali ia secara rekursif memanggil dirinya sendiri, parameter saiz dikurangkan dengan satu Setiap newResult ialah dua dimensi [panjang ialah jumlah gabungan, dan setiap elemen ialah gabungan semasa]. Tatasusunan, apabila panjang setiap item dalam newResult mencapai saiz, rekursi tamat dan hasil akhir dikembalikan.

洪濤

Kaedah penulisan penutupan menghalang parameter dalaman fungsi daripada dipengaruhi oleh faktor luaran.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan