Dada una matriz de números enteros, devuelve el tercer número máximo distinto en esta matriz. Si el tercer máximo no existe, devuelve el número máximo. Entrada: números = [2,2,3,1] Salida: 1
mi código:
var thirdMax = function(nums) { let tempArr =new Set(nums.sort((a,b) => ba)); let newArr = Array.from(tempArr); return newArr[2]; };En la consola funciona, pero devuelve indefinido. ¿Puedo preguntar qué me estoy perdiendo aquí? Gracias.
¿Puedo preguntar qué me estoy perdiendo aquí?
Te estás perdiendo esta parte del desafío:
Si el tercer máximo no existe, devolver el número máximo
Su código está buscando una tercera entrada que podría no existir (por lo tanto, undefined ). Deberá probar su código con una entrada que solo tenga 2 o 1 valor(es) único(s) y adaptar su código en consecuencia.
Si no encuentras cómo hacerlo, aquí está el spoiler:
return newArr[2] ?? newArr[0];
Tenga en cuenta que slice espera un argumento numérico (no una cadena). Puedes omitir ese argumento.