
Soluções e explicação para os exercícios JS.
Esta não é uma folha de dicas!
Fiz esta compilação ao resolver algoritmos JavaScript no Freecodecamp e Edabit. Eu pensei que este deveria ser um guia útil para pessoas que tentam entrar e correr no paradigma de desenvolvimento da web.
Crie uma função que exibirá o menor valor na matriz.
Exemplo:
> console . log ( findSmallest ( [ 30 , 45 , 60 , 7 ] ) ) ;
> 1Referência:
Solução:
function findSmallest ( arr ) {
return Math . min ( ... arr ) ;
} Função que retornará sua string em ordem alfabética
Exemplo:
> console . log ( AlphabeticalOrder ( 'hello' ) ) ;
> "ehllo"Referência:
Array.split
Array.Join
Solução:
function AlphabeticalOrder ( str ) {
return str
. split ( "" )
. sort ( )
. join ( "" ) ;
} Em matemática, o fatorial de um número inteiro não negativo, indicado por n!, É o produto de todos os números inteiros positivos menores ou iguais a n. Em termos simples, o fatorial de 7 é resolvido assim:
7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 5.040
Exemplo:
> console . log ( factorializer ( 7 ) ) ;
> 5040Referência:
Recursão
Se e outras declarações
Solução:
function factorializer ( int ) {
if ( int <= 1 ) {
return 1 ;
} else {
return int * factorializer ( int - 1 ) ;
}
} Uma função que permite saber se um número é par ou estranho
Exemplo:
> console . log ( oddOrEven ( 7 ) ) ;
> "Odd"Referência:
Solução:
function oddOrEven ( int ) {
let ouput = int % 2 ;
if ( output == 0 ) {
return "Even" ;
} else {
return "Odd" ;
}
} Remova todos os números ímpares em uma matriz e retorne uma nova matriz que contém números pares apenas
Exemplo:
> console . log ( evenOnly ( [ 1 , 2 , 3 , 4 , 5 , 6 ] ) ) ;
> [ 2 , 4 , 6 ]Referência:
Array.Filter
Modulo
Solução:
function evenOnly ( arr ) {
let result = arr . filter ( arr => arr % 2 == 0 ) ;
return result ;
} Crie uma função que aceite uma matriz, verifique o tipo de dados de cada elemento. A função excluirá elementos da string e retornará a nova matriz
Exemplo:
> console . log ( numbersOnly ( [ 'text' , 3 , 7 , 'github' , 13 , 'dev' ] ) ) ;
> [ 3 , 7 , 13 ]Referência:
Array.Filter
typeof
Solução:
function numbersOnly ( arr ) {
return arr . filter ( arr => typeof arr == "number" ) ;
} Retorne a soma de um número que remonta à sua raiz. Em outras palavras, a função funcionará assim:
adpup (5);
// 5 + 4 + 3 + 2 + 1 + 0 = 15
Exemplo:
> console . log ( addUp ( 8 ) ) ;
> 36Referência:
Recursão
1 + 2 + 3 + 4 + ⋯
Solução:
function addUp ( num ) {
if ( num <= 1 ) {
return num ;
} else {
return num + addUp ( num - 1 ) ;
}
} Crie uma função que aceite uma matriz e faça o seguinte:
Obtenha o elemento mais baixo
Obtenha o elemento mais alto
Obtenha a duração da matriz
Obtenha a média de todos os elementos;
Armazene esses critérios em uma nova matriz
Exemplo:
> console . log ( minMaxLengthAverage ( [ 7 , 13 , 3 , 77 , 100 ] ) ) ;
> [ 3 , 100 , 5 , 40 ]Referência:
Math.Min
Math.Max
Array.Reduce
Array.Length
Solução:
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() classifica as cordas em ordem alfabética. E se quisermos classificar os números do menor para o mais alto? Produzirá uma saída correta?
Exemplo: é isso que acontece se aplicarmos Array.sort() aos números:
> arr = [ 45 , 34 , 23 , 12 , 7 ]
> console . log ( arr . sort ( ) ) ;
> [ 12 , 23 , 34 , 45 , 7 ]A saída não está correta, certo?, Enquanto esperamos que este seja o valor de retorno:
> console . log ( sortNumsAscending ( [ 7 , 13 , 3 , 77 , 100 ] ) ) ;
> [ 3 , 5 , 40 , 100 ]Referência:
Classificação em JavaScript
Array.sort ()
Solução:
function sortNumsAscending ( arr ) {
let sorter = ( a , b ) => {
return a - b ;
} ;
if ( arr == [ ] ) {
return [ ] ;
} else if ( arr == null ) {
return [ ] ;
} else {
return arr . sort ( sorter ) ;
}
} Converter o número fornecido em um número romano
Exemplo:
> romanNumbers ( 1989 ) ;
> MCMLXXXIXReferência:
Algarismos romanos
Array.Join ()
Array.indexOf ()
Array.splice ()
Solução:
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 a soma absoluta de todos os elementos da matriz
Exemplo:
> getAbsSum ( [ - 1 , - 3 , - 5 , - 4 , - 10 , 0 ] ) ;
> 23Referência:
Array.prototype.Reduce
Math.abs
Solução:
function getAbsSum ( arr ) {
const reducer = ( acc , currVal ) => {
return acc + currVal ;
} ;
return Math . abs ( arr . reduce ( reducer ) ) ;
} Formar um triângulo usando tags de hash
Exemplo:
> #
> ##
> ###
> ####
> #####
> ######
> #######Referência:
Solução:
for ( x = "#" ; x . length <= 7 ; x += x ) {
console . log ( x ) ;
} Retornar quantas palavras foram dadas
Exemplo:
> countWords ( 'hello from kbpsystem!' ) ;
> 3Referência:
String.prototype.split
Array.Length
Solução:
function countWords ( str ) {
return str . split ( " " ) . length ;
} Multiplique todos os elementos em uma matriz por seu comprimento
Exemplo:
> MultiplyByLength ( [ 4 , 1 , 1 ] ) ;
> [ 12 , 3 , 3 ]Referência:
para
Array.Length
Array.prototype.push
Array.prototype.map
Solução:
function MultiplyByLength ( arr ) {
let len = arr . length ;
for ( i = 0 ; i < len ; i ++ ) {
arr [ i ] = arr [ i ] * len ;
}
return arr ;
} Crie uma função que verifique se o STR1 termina com os caracteres no STR2
Regras:
Tome duas cordas como argumento
Determine se a segunda string corresponde ao final da primeira string
Retornar valor booleano
Exemplo:
> console . log ( checkEnding ( "samurai" , "zi" ) ) ;
> falseReferência:
String.prototype.endSwith () O método determina se uma string termina com os caracteres de uma string especificada, retornando true ou false conforme apropriado.
Método Array.prototype.Join se une a todos os elementos de uma matriz (ou um objeto semelhante a uma matriz) em uma string e retorna essa string.
Solução:
function checkEnding ( str1 , str2 ) {
return str1 . endsWith ( str2 ) ;
} Crie uma função que repita cada caractere de string duas vezes
Exemplo:
> console . log ( doubleChar ( 'exercise' ) ) ;
> eexxeerrcciisseeReferência:
Array.prototype.split O método split() divide um objeto String em uma matriz de strings separando a sequência em substringas, usando uma sequência de separador especificada para determinar onde fazer cada divisão.
Array.prototype.map O método map() cria uma nova matriz com os resultados de chamar uma função fornecida em todos os elementos da matriz de chamadas.
Array.prototype.JOIN Este método se junta a todos os elementos de uma matriz (ou um objeto semelhante a uma matriz) em uma string e retorna essa string.
Solução:
function doubleChar ( str ) {
let x = str . split ( "" ) ;
return x . map ( x => x . repeat ( 2 ) ) . join ( "" ) ;
} Explicação: Na solução acima, primeiro aplicamos o método dividido no argumento da string e depois o armazenamos em uma variável chamada x . Em seguida, usamos a função do mapa para performinar o processo de duplicação em cada elemento da string, que foi considerado como matriz nesse caso, porque acabamos de aplicar um método dividido na sequência. Depois que o processo de duplicação é feito, chamamos o método join() . A aplicação deste método converterá a matriz de volta a ser uma string novamente, mas desta vez com um novo valores duplicados
Retorne o local do índice de um elemento de uma determinada matriz. O primeiro argumento é a matriz que você gostaria de pesquisar e a segunda é o elemento (string/número) a procurar.
Exemplo:
> console . log ( findIndex ( [ 'github' , 'gitlab' , 'bitbucket' , 'apollo' ] , 'gitlab' ) ) ;
> 1Referência:
Solução:
function findIndex ( arr , element ) {
return arr . indexOf ( element ) ;
} Explicação: findIndex Função leva dois argumentos. Primeiro, a matriz a ser monitorada e, em seguida, a última é o elemento da matriz que precisa ser localizado. O JavaScript possui um método embutido chamado indexOf() e usamos isso para localizar a localização do índice de um determinado elemento em uma matriz. Este método passa através da matriz localizando o valor do índice de um elemento
Este exercício é cortesia do Freecodecamp
Este exercício é uma implementação de DO durante a declaração. Nosso objetivo aqui é continuar executando uma função/declaração, defina um paramater e, assim que o resultado do parâmetro avaliar como false , a execução da função/declaração será interrompida
Exemplo:
var result = "" ;
var i = 0 ;
do {
i = i + 1 ;
result = result + i ;
} while ( i < 5 ) ;
console . log ( result ) ;
// expected result: "12345"Referência:
A declaração do Do ... enquanto cria um loop que executa uma instrução especificada até que a condição de teste seja avaliada como falsa. A condição é avaliada após a execução da instrução, resultando na declaração especificada em execução pelo menos uma vez.
Solução:
// Setup
> var myArray = [ ] ;
> var i = 10 ;
> // Only change code below this line.
> do {
myArray . push ( i ) ;
i ++ ;
console . log ( i )
} while ( i < 11 ) Estamos no código de criação!
Sinta -se à vontade para enviar um problema ou puxar solicitações