Maison  >  Questions et réponses  >  le corps du texte

Que signifie -1 en récursion ?

Dans ce code, j'essaie de comprendre le concept de récursivité, mais je passe complètement à côté de l'essentiel : sum(arr, n) = sum(arr, n - 1) + arr[n - 1];

J'ai ce code :

function sum(arr, n){

  if(n <= 0){
    return 0;

  } else {
    return sum(arr, n - 1) + arr[n - 1];
  }

}

console.log(sum([5, 4, 7, 9, 2, 6], 5);

J'essaie de comprendre l'expression : sum(arr, n - 1) + arr[n - 1]; Est-ce comme ça : Dans sum(arr, n - 1), n est (index - 1) ou (n - 1) est la longueur de l'élément du tableau à ajouter. De plus, après cela, qu'en est-il de la deuxième expression arr[n - 1]. Est-ce que [n- 1] est un élément de tableau ? Parce qu'il est dans un tableau, il y a "[]".

Désolé si quelque chose est stupide ou ennuyeux, mais si quelqu'un peut m'aider à m'orienter dans la bonne direction, je l'apprécierais vraiment.

P粉578343994P粉578343994378 Il y a quelques jours571

répondre à tous(1)je répondrai

  • P粉423694341

    P粉4236943412023-09-08 09:29:40

    Votre fonction sum(arr,n) 可以描述为计算 arr[0]+...+arr[n-1].

    C'est équivalent à arr[0]+...+arr[n-2]+arr[n-1]

    C'est équivalent à sum(arr,n-1) + arr[n-1]

    Le seul cas où cette règle ne s'applique pas est lorsque n<=0 , où la somme est 0.

    répondre
    0
  • Annulerrépondre