Используя пакет пророка в блестящей приборной панели?

Копия ответа le_m для непосредственного захвата массивов массивов:

function *combinations(arrOfArr) {
  let [head, ...tail] = arrOfArr
  let remainder = tail.length ? combinations(tail) : [[]];
  for (let r of remainder) for (let h of head) yield [h, ...r];
}

Надеюсь, это сэкономит чье-то время.

0
задан merv 18 February 2019 в 21:53
поделиться