function findLongestWordLength(str) { let arr = str.split(' '); let lengths = arr.map(word => word.length); console.log(Math.max(lengths)); } findLongestWordLength("The quick brown fox jumped over the lazy dog"); console.log(Math.max(lengths)) da como resultado NaN , console.log(Math.Max(...lengths)) funciona. ¿Por qué es necesario repartir las longitudes? Math.Max toma una matriz como argumento, ¿y las longitudes son una matriz? Gracias
Math.max no toma una matriz. Toma un conjunto de parámetros. El operador de dispersión proporciona todos los valores de la matriz como parámetros individuales.
Math.max(...lengths)en realidad se representa en tiempo de ejecución como:
Math.max(lengths[0], lengths[1], etc, lengths[n])