@@ -0,0 +1,1071 @@
+%0A/* Implement the function asyncMap:%0A *%0A * asyncMap has two parameters, an array of asynchronous functions (tasks) and a callback.%0A * Each of the tasks takes a separate callback and invokes that callback when complete.%0A *%0A * The callback passed to asyncMap is then performed on the results of the callbacks of the tasks.%0A *%0A * The order of these results should be the same as the order of the tasks.%0A * It is important to note that this is not the order in which the tasks return,%0A * but the order in which they are passed to asyncMap.%0A *%0A * Once all the callbacks of the tasks are returned, asyncMap should invoke the callback%0A * on the results array.%0A *%0A *%0A * Example:%0A *%0A * asyncMap(%5B%0A *  function(cb)%7B%0A *    setTimeout(function()%7B%0A *      cb('one');%0A *    %7D, 200);%0A *  %7D,%0A *  function(cb)%7B%0A *    setTimeout(function()%7B%0A *      cb('two');%0A *    %7D, 100);%0A *  %7D%0A * %5D,%0A *  function(results)%7B%0A *    // the results array will equal %5B'one','two'%5D even though%0A *    // the second function had a shorter timeout.%0A *    console.log(results); // %5B'one', 'two'%5D%0A * %7D);%0A *%0A *%0A */%0A

add desc