zoukankan      html  css  js  c++  java
  • [Javascript] Intro to Recursion

    Recursion is a technique well suited to certain types of tasks. In this first lesson we’ll look at solving a problem that requires the flattening of arrays without using recursion. Showing the shortcoming of a non-recursive solution first will help you to understand why it’s so valuable and why sometimes it's the only solution to many problem.

    let input, config, tasks;
    
    input = ['dist'];
    
    config = {
      "dist": ["build", "deploy"],
      "build": ['js', 'css', 'vender'],
      "js": ['babel', 'ng-Annotate', "uglify"],
      "css": ["sass", "css-min"]
    };
    
    tasks = [];
    
    getTasks(input);
    
    function getTasks(input){
      
      input.forEach((task)=>{
        if(config[task]){
          getTasks(config[task]);
        }else{
          tasks.push(task);
        }
      })
    };
    
    console.log(tasks);
    ["babel", "ng-Annotate", "uglify", "sass", "css-min", "vender", "deploy"]
  • 相关阅读:
    第二次结对作业
    第一次结对作业
    第二次个人编程
    第一次编程作业
    第一篇随笔
    个人总结
    第三次个人作业
    第二次结对作业
    第一次结对作业
    第二次编程
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4990418.html
Copyright © 2011-2022 走看看