-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmates.js
22 lines (16 loc) · 922 Bytes
/
mates.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//Rematando los exámenes finales
/* Antes de poder disfrutar de la navidad... nos toca terminar de rematar los exámenes finales.
¡Y toca un poco de matemáticas! 😱
A una función se le pasan dos parámetros: un Array con números y el resultado que se espera.
La función debe devolver los dos valores del Array que sumen el resultado esperado. Como a veces pueden haber más de dos valores que sumen, se devolverá el primero empezando por la izquierda que encuentre otro par, sin importar lo lejos que esté a la derecha.
Si no se encuentra, se devuelve null. */
function sumPairs(numbers, result) {
return numbers.reduce((acc, currNumber, currIndex) => {
if (acc) return acc;
const found = numbers.find(
(otherNumber, otherIndex) =>
currNumber + otherNumber === result && currIndex !== otherIndex
);
return found ? [currNumber, found] : null;
}, null);
}