Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以使用Array.flatMap在Javascript中返回n个choose k组合吗?_Javascript_Arrays_Probability - Fatal编程技术网

可以使用Array.flatMap在Javascript中返回n个choose k组合吗?

可以使用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+

例如,这是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+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与其为预期结果添加注释,不如编辑您的问题。