美文网首页让前端飞Web前端之路前端
前端javascript面试题:给定一个不重复集合,编写代码,能

前端javascript面试题:给定一个不重复集合,编写代码,能

作者: 张培跃 | 来源:发表于2020-10-19 00:05 被阅读0次


    问题:给定一个不重复集合,编写代码,能够输出其所有子集合。例如对于输入集合[1,2,3],返回以下集合,顺序不限:

    [
      [],       [ 1 ],
      [ 2 ],    [ 2, 1 ],
      [ 3 ],    [ 3, 1 ],
      [ 3, 2 ], [ 3, 2, 1 ]
    ]
    

    答案:

    // function test(arr){
    //     return arr.reduce(function (prev,next) {
    //         return prev.concat(prev.map(item=>[next,...item]))
    //     },[[]])
    // }
    
    // 箭头函数版本
    const test = arr=>(
        arr.reduce((prev,next)=>(
            prev.concat(prev.map(item=>[next,...item]))
        ),[[]])
    )
    
    console.log(test([1,2,3]));
    

    相关文章

      网友评论

        本文标题:前端javascript面试题:给定一个不重复集合,编写代码,能

        本文链接:https://www.haomeiwen.com/subject/jdbhmktx.html