可以使用Array.flatMap在Javascript中返回n个choose k组合吗?
例如,这是5选择2:可以使用Array.flatMap在Javascript中返回n个choose k组合吗?,javascript,arrays,probability,Javascript,Arrays,Probability,例如,这是5选择2: var数组=[0,1,2,3,4]; var result=array.flatMap( (v,i)=>array.slice(i+1.map)(w=>[v,w]) ); 控制台日志(结果)只需添加另一层嵌套: var array = [0,1,2,3,4]; var result = array.flatMap((v, i) => array.slice(i+1).flatMap((w, j) => array.slice(i+1+
var数组=[0,1,2,3,4];
var result=array.flatMap(
(v,i)=>array.slice(i+1.map)(w=>[v,w])
);
控制台日志(结果)代码>只需添加另一层嵌套:
var array = [0,1,2,3,4];
var result = array.flatMap((v, i) =>
array.slice(i+1).flatMap((w, j) =>
array.slice(i+1+j+1).map(u =>
[v, w, u]
)
)
);
console.log(result);
此时,使用递归可能更容易:
函数选择(arr,k,前缀=[]){
如果(k==0)返回[前缀];
返回arr.flatMap((v,i)=>
选择(arr.slice(i+1),k-1,[…前缀,v])
);
}
log(选择([0,1,2,3,4],3))代码>预期输出是什么?[[0,1,2],[0,1,3],[0,1,4],[0,2,3],[0,2,4],[0,3,4],[1,2,3],[1,2,4],[1,3,4]。@YuvalLevental与其为预期结果添加注释,不如编辑您的问题。