RosettaCodeData/Task/Combinations/JavaScript/combinations-8.js
2023-07-01 13:44:08 -04:00

7 lines
240 B
JavaScript

function combinations(k, arr, prefix = []) {
if (prefix.length == 0) arr = [...Array(arr).keys()];
if (k == 0) return [prefix];
return arr.flatMap((v, i) =>
combinations(k - 1, arr.slice(i + 1), [...prefix, v])
);
}