Reto funciones orden superior

Código
Intermedio
TypeScript
Curso de TypeScript
3 min
200 XP
Actualizado: 04/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Implementar una función de orden superior que aplique transformaciones a un array de números

Crea una función de orden superior llamada applyTransformations que reciba un array de números y un array de funciones transformadoras. La función debe aplicar cada transformación en secuencia a todos los elementos del array.

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

La función debe tener la siguiente firma:

function applyTransformations(numbers: number[], transformations: Array<(num: number) => number>): number[]

Por ejemplo, si llamamos a la función con:

  • Un array [1, 2, 3]
  • Las transformaciones [(n) => n * 2, (n) => n + 1]

El resultado debería ser [3, 5, 7] porque primero multiplicamos cada número por 2 (obteniendo [2, 4, 6]) y luego sumamos 1 a cada elemento.

Implementa la función applyTransformations para que pase los siguientes casos:

  1. applyTransformations([1, 2, 3], [(n) => n * 2, (n) => n + 1])[3, 5, 7]
  2. applyTransformations([10, 20, 30], [(n) => n / 10, (n) => Math.floor(n)])[1, 2, 3]
  3. applyTransformations([0, 5, 10], [(n) => n ** 2, (n) => n - 1, (n) => n * 3])[-3, 72, 297]

Solución al ejercicio de programación en TypeScript

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en TypeScript para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en TypeScript

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en TypeScript

⭐⭐⭐⭐⭐
4.9/5 valoración