Skip to main content

recursive in javascript

 递归的思想:取出当前的值,递归当前值以前的所有值。

function sum(arrn) {
 
  let total=0;
  if(n<=0){
    total=0;
  }
else if (n>arr.length)
{
return undefined;
}
  
  else{
    total=arr[n-1]+sum(arr,n-1)
  }
  return total;
  
}
console.log(sum([1,3,5],3));
先考虑极端情况,只有一个元素或者没有元素的情况,那么直接返回0,如果超出了arr的length,则返回无定义
其他情况取当前元素,加上所有以前元素的和。
第二个例子,阶乘,
function factorialize(num) {
  let factor = 0;
  if (num<=0){
    factor = 1;
  }
  else
  {
    factor = num*(factorialize(num-1));

  }

  return factor;
}

factorialize(5);

Comments

Popular posts from this blog

span[class~="sr-only"]

  The  span[class~="sr-only"]  selector will select any  span  element whose  class   includes   sr-only . Create that selector, and give it a  border  property set to  0 . span [ class ~= "sr-only" ] {    border:   0 ; }

Use Recursion to Create a Range of Numbers

  function   rangeOfNumbers ( startNum ,  endNum ) {    if ( startNum <= endNum )   {      const   arrNumber  =  rangeOfNumbers ( startNum ,  endNum - 1 );      arrNumber . push ( endNum );      return   arrNumber ;   }    else  {      return  [];   }       }; console . log ( rangeOfNumbers ( 6 , 8 ));//[6,7,8] console . log ( rangeOfNumbers ( 3 , 12 )); //[ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]

About the Little Lemon receipt maker exercise

 My homework and exercise of the lesson "About the Little Lemon receipt maker exercise" of the class "programming with Javascript" on coursera. const menu = [     {         Dish : "Italian pasta" ,         price : 9.55     },     {         Dish : "Rice with veggies" ,         price : 8.65     },     {         Dish : "Chicken with potatoes" ,         price : 15.55     },     {         Dish : "Vegetarian Pizza" ,         price : 6.45     } ]; function receiptMaker ( arr , bool ) {     if ( bool == false )     {         console . log ( "Prices without tax:" );         arr . forEach ( element => {             console . log ( `Dish: ${ element . Dish } Price (incl.tax):$ ${ element . price } ` );                     });     }     else     {         console . log ( "Prices with 20% tax:" );         arr . forEach ( element => {             console . log ( `Dish: ${ element . Dish } Price (inc