
Soluciones y explicación a JS Ejercicios.
¡Esta no es una hoja de trucos!
Hice esta compilación al resolver los algoritmos JavaScript en Freecodecamp y Edabit. Pensé que esta debe ser una guía útil para las personas que intentan ponerse en funcionamiento en el paradigma de desarrollo web.
Cree una función que mostrará el valor más pequeño en la matriz.
Ejemplo:
> console . log ( findSmallest ( [ 30 , 45 , 60 , 7 ] ) ) ;
> 1Referencia:
Solución:
function findSmallest ( arr ) {
return Math . min ( ... arr ) ;
} Función que devolverá su cadena en orden alfabético
Ejemplo:
> console . log ( AlphabeticalOrder ( 'hello' ) ) ;
> "ehllo"Referencia:
Matriz.split
Matriz.
Solución:
function AlphabeticalOrder ( str ) {
return str
. split ( "" )
. sort ( )
. join ( "" ) ;
} En matemáticas, el factorial de un entero no negativo n, denotado por n!, Es el producto de todos los enteros positivos menores o iguales a n. En términos simples, el factorial de 7 se resuelve así:
7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 5,040
Ejemplo:
> console . log ( factorializer ( 7 ) ) ;
> 5040Referencia:
Recursión
Declaraciones de si y else
Solución:
function factorializer ( int ) {
if ( int <= 1 ) {
return 1 ;
} else {
return int * factorializer ( int - 1 ) ;
}
} Una función que le permite saber si un número es uniforme o impar
Ejemplo:
> console . log ( oddOrEven ( 7 ) ) ;
> "Odd"Referencia:
Solución:
function oddOrEven ( int ) {
let ouput = int % 2 ;
if ( output == 0 ) {
return "Even" ;
} else {
return "Odd" ;
}
} Elimine todos los números impares en una matriz y devuelva una nueva matriz que contenga solo números
Ejemplo:
> console . log ( evenOnly ( [ 1 , 2 , 3 , 4 , 5 , 6 ] ) ) ;
> [ 2 , 4 , 6 ]Referencia:
Array.filter
Módulo
Solución:
function evenOnly ( arr ) {
let result = arr . filter ( arr => arr % 2 == 0 ) ;
return result ;
} Cree una función que aceptará una matriz, verifique el tipo de datos de cada elemento. La función eliminará los elementos de cadena y devolverá una nueva matriz
Ejemplo:
> console . log ( numbersOnly ( [ 'text' , 3 , 7 , 'github' , 13 , 'dev' ] ) ) ;
> [ 3 , 7 , 13 ]Referencia:
Array.filter
tipo de tono
Solución:
function numbersOnly ( arr ) {
return arr . filter ( arr => typeof arr == "number" ) ;
} Devuelva la suma de un número que regresa a su raíz. En otras palabras, la función funcionará así:
complemento (5);
// 5 + 4 + 3 + 2 + 1 + 0 = 15
Ejemplo:
> console . log ( addUp ( 8 ) ) ;
> 36Referencia:
Recursión
1 + 2 + 3 + 4 + ⋯
Solución:
function addUp ( num ) {
if ( num <= 1 ) {
return num ;
} else {
return num + addUp ( num - 1 ) ;
}
} Cree una función que acepte una matriz y haga lo siguiente:
Obtenga el elemento más bajo
Obtenga el elemento más alto
Obtenga la longitud de la matriz
Obtenga el promedio de todos los elementos;
Almacene estos criterios en una nueva matriz
Ejemplo:
> console . log ( minMaxLengthAverage ( [ 7 , 13 , 3 , 77 , 100 ] ) ) ;
> [ 3 , 100 , 5 , 40 ]Referencia:
Math.min
Math.max
Matriz.reduce
Array.length
Solución:
function minMaxLengthAverage ( arr ) {
const min = Math . min ( ... arr ) ;
const max = Math . max ( ... arr ) ;
const len = arr . length ;
//Reducer for get Average function
const ave = arr => arr . reduce ( ( acc , curVal ) => acc + curVal , 0 ) / len ;
const average = ave ( arr ) ;
//Return output
return [ min , max , len , average ] ;
} Array.sort() clasifica las cadenas alfabéticamente. ¿Qué pasa si queremos clasificar los números de más bajo a más alto? ¿Producirá una salida correcta?
Ejemplo: esto es lo que sucede si aplicamos Array.sort() a los números:
> arr = [ 45 , 34 , 23 , 12 , 7 ]
> console . log ( arr . sort ( ) ) ;
> [ 12 , 23 , 34 , 45 , 7 ]La salida no es correcta, ¿verdad?, Mientras que esperamos que este sea el valor de retorno:
> console . log ( sortNumsAscending ( [ 7 , 13 , 3 , 77 , 100 ] ) ) ;
> [ 3 , 5 , 40 , 100 ]Referencia:
Clasificación en JavaScript
Array.sort ()
Solución:
function sortNumsAscending ( arr ) {
let sorter = ( a , b ) => {
return a - b ;
} ;
if ( arr == [ ] ) {
return [ ] ;
} else if ( arr == null ) {
return [ ] ;
} else {
return arr . sort ( sorter ) ;
}
} Convertir el número dado a un número romano
Ejemplo:
> romanNumbers ( 1989 ) ;
> MCMLXXXIXReferencia:
Números romanos
Array.join ()
Array.indexof ()
Array.splice ()
Solución:
function romanNumbers ( num ) {
let values = [ 1000 , 900 , 500 , 400 , 100 , 90 , 50 , 40 , 10 , 9 , 5 , 4 , 1 ] ;
let romanNumerals = [
"M" ,
"CM" ,
"D" ,
"CD" ,
"C" ,
"XC" ,
"L" ,
"XL" ,
"X" ,
"IX" ,
"V" ,
"IV" ,
"I"
] ;
let roman = "" ;
for ( i = 0 ; i < values . length ; i ++ ) {
while ( values [ i ] <= num ) {
roman += romanNumerals [ i ] ;
num -= values [ i ] ;
}
}
return roman ;
}
console . log ( romanNumbers ( 1989 ) ) ; Devolver la suma absoluta de todos los elementos de la matriz
Ejemplo:
> getAbsSum ( [ - 1 , - 3 , - 5 , - 4 , - 10 , 0 ] ) ;
> 23Referencia:
Array.prototype.reduce
Math.abs
Solución:
function getAbsSum ( arr ) {
const reducer = ( acc , currVal ) => {
return acc + currVal ;
} ;
return Math . abs ( arr . reduce ( reducer ) ) ;
} Formar un triángulo usando etiquetas hash
Ejemplo:
> #
> ##
> ###
> ####
> #####
> ######
> #######Referencia:
Solución:
for ( x = "#" ; x . length <= 7 ; x += x ) {
console . log ( x ) ;
} Devolver cuántas palabras se dieron
Ejemplo:
> countWords ( 'hello from kbpsystem!' ) ;
> 3Referencia:
String.prototype.split
Array.length
Solución:
function countWords ( str ) {
return str . split ( " " ) . length ;
} Multiplique todos los elementos en una matriz por su longitud
Ejemplo:
> MultiplyByLength ( [ 4 , 1 , 1 ] ) ;
> [ 12 , 3 , 3 ]Referencia:
para
Array.length
Array.prototype.push
Array.prototype.map
Solución:
function MultiplyByLength ( arr ) {
let len = arr . length ;
for ( i = 0 ; i < len ; i ++ ) {
arr [ i ] = arr [ i ] * len ;
}
return arr ;
} Cree una función que verifique si STR1 termina con los caracteres en STR2
Normas:
Tomar dos cuerdas como argumento
Determine si la segunda cadena coincide con el final de la primera cadena
Devolver el valor booleano
Ejemplo:
> console . log ( checkEnding ( "samurai" , "zi" ) ) ;
> falseReferencia:
El método string.prototype.endswith () determina si una cadena termina con los caracteres de una cadena especificada, devolviendo verdadero o falso según corresponda.
Array.prototype.JOIN El método une todos los elementos de una matriz (o un objeto similar a una matriz) en una cadena y devuelve esta cadena.
Solución:
function checkEnding ( str1 , str2 ) {
return str1 . endsWith ( str2 ) ;
} Crear una función que repetirá cada carácter de cadena dos veces
Ejemplo:
> console . log ( doubleChar ( 'exercise' ) ) ;
> eexxeerrcciisseeReferencia:
Array.prototype.split El método split() divide un objeto de cadena en una matriz de cadenas separando la cadena en sustros, utilizando una cadena separadora especificada para determinar dónde hacer cada división.
Array.prototype.map El método map() crea una nueva matriz con los resultados de llamar a una función proporcionada en cada elemento en la matriz de llamadas.
Array.prototype.JOIN Este método une todos los elementos de una matriz (o un objeto similar a una matriz) en una cadena y devuelve esta cadena.
Solución:
function doubleChar ( str ) {
let x = str . split ( "" ) ;
return x . map ( x => x . repeat ( 2 ) ) . join ( "" ) ;
} Explicación: En la solución anterior, primero aplicamos el método dividido en el argumento de cadena y luego lo almacenamos en una variable llamada x . A continuación, usamos la función MAP para realizar el proceso de duplicación de su elemento de la cadena, que se consideró como una matriz en este caso porque acabamos de aplicar un método dividido en la cadena. Una vez que se realiza el proceso de duplicación, llamamos al método join() . Aplicar este método volverá a convertir la matriz en una cadena nuevamente, pero esta vez con un nuevo valores duplicados
Devuelva la ubicación del índice de un elemento de una matriz determinada. El primer argumento es la matriz que le gustaría buscar y el segundo es el elemento (ya sea cadena/número) a buscar.
Ejemplo:
> console . log ( findIndex ( [ 'github' , 'gitlab' , 'bitbucket' , 'apollo' ] , 'gitlab' ) ) ;
> 1Referencia:
Solución:
function findIndex ( arr , element ) {
return arr . indexOf ( element ) ;
} Explicación: la función findIndex toma dos argumentos. Primero está la matriz a ser monitoreada y luego la última es el elemento en la matriz que debe ubicarse. JavaScript tiene un método integrado llamado indexOf() y lo utilizamos para localizar la ubicación del índice de un cierto elemento en una matriz. Este método boje a través de la matriz localizando el valor de índice de un elemento
Este ejercicio es cortesía de Freecodecamp
Este ejercicio es una implementación de DO mientras estaba declaración. Nuestro objetivo aquí es seguir ejecutando una función/instrucción, establecer un paramater y tan pronto como el resultado del parámetro se evalúe en false , la ejecución de la función/instrucción se detendrá
Ejemplo:
var result = "" ;
var i = 0 ;
do {
i = i + 1 ;
result = result + i ;
} while ( i < 5 ) ;
console . log ( result ) ;
// expected result: "12345"Referencia:
El Do ... mientras que la instrucción crea un bucle que ejecuta una declaración especificada hasta que la condición de prueba se evalúa en falso. La condición se evalúa después de ejecutar la declaración, lo que resulta en la declaración especificada que ejecuta al menos una vez.
Solución:
// Setup
> var myArray = [ ] ;
> var i = 10 ;
> // Only change code below this line.
> do {
myArray . push ( i ) ;
i ++ ;
console . log ( i )
} while ( i < 11 ) ¡Estamos en el codeetriaje!
No dude en enviar un problema o extraer solicitudes