es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Llamada recursiva a una función monótona con un IIFE deteniéndose o creando una función “add” que devuelve un número desconocido de funciones para agregar el siguiente número.

Tenía una pregunta en una entrevista:

¿Cómo implementar add(1)(2)(3)….()?

A continuación se muestra el caso para 3 instancias. ¿Pero cómo ampliarlo para más instancias? La condición de parada para la recursión es la función con un argumento vacío (IIFE)

function add(a){
   return function add(b){
     return function add(c){
       return a+ b+ c;
     }
   }
}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para extender la implementación de add(1)(2)(3) para más instancias, puedes continuar anidando funciones anónimas que devuelvan nuevas funciones.

    Aquí hay un ejemplo para 4 instancias:

    function add(a) {
      return function add(b) {
        return function add(c) {
          return function add(d) {
            return a + b + c + d;
          }
        }
      }
    }
    

    Y aquí hay un ejemplo para 5 instancias:

    function add(a) {
      return function add(b) {
        return function add(c) {
          return function add(d) {
            return function add(e) {
              return a + b + c + d + e;
            }
          }
        }
      }
    }
    

    Y así sucesivamente, puedes seguir anidando funciones para cada instancia adicional de la llamada a la función add. Recuerda incluir una condición de parada que ejecutará el cálculo final cuando se pase un argumento vacío, como una IIFE.

Comments are closed.