Resumo do exercício do Free Code Camp (3) - Script de algoritmo básico

Vou atualizar minha redação todos os dias. Estou aprendendo há algum tempo e ainda estou muito impressionado. Vou revisar o conhecimento básico anterior novamente e viver para aprender. Espero ajudar alguns alunos no FreecodeCamp, vou atualizar o código que estou escrevendo FreecodeCamp todos os dias. Espero que todos possam ajudar.

# 253 Reverter uma corda

Converta a string em uma matriz e, em seguida, use o método reverso da matriz para inverter a ordem da matriz e, finalmente, converta a matriz em uma string.

function reverseString (str) {   // Por favor escreva seu código aqui   return str.split (''). reverse (''). join (''); // método split () usa a string separadora especificada Dividir um objeto String em uma matriz de string para separar a string em substrings para determinar a localização de cada divisão.   // método reverse () inverte a posição dos elementos no array.   O // método join () junta todos os elementos de uma matriz (ou um objeto semelhante a uma matriz) em uma string e retorna esta string. }




reverseString ("olá");
# 254 Fatorializar um número

Calculando o fatorial de um inteiro Se a letra n for usada para representar um inteiro, o fatorial representa o produto de todos os inteiros menores ou iguais a N.

function factorialize (num) {// Método recursivo
  // Escreva aqui o seu código
  if (num <0)
  {     return -1;   } else if (num === 0 || num === 1)     {       return 1;     } else if (num> 1)     {         return (num * fatorialize (num-1));     }







}

factorialize (5);
// while método de iteração do método

function factorialize (num) {// while
  // Escreva aqui o seu código
  var resule = num;
   if (num <0) {      return -1;    } else if (num === 0 || num === 1)      {        return 1;      } else   while (num> 1)        {          --num;          resule * = num;        }    return resule; }









         


factorialize (5);
// para método de travessia de loop


  
  function factorialize (num) {// while
  // Por favor, escreva seu código aqui
 
   if (num <0) {      return -1;    } else if (num === 0 || num === 1)      {        return 1;      } else      {        para (var i = num-1; i> 1; i -) {          num = num * i;        }      retornar num;          }







         




         

  
}

fatorializar (5);

# 255 Verifique se há palíndromos

Se a string fornecida for um palíndromo, retorna true, caso contrário, retorna false.

Se uma string ignora a pontuação, maiúsculas e minúsculas e espaços, e é lida exatamente da mesma forma que ao contrário, então a string é palíndromo (palíndromo).

Observe que você precisa remover a pontuação extra e espaços na string e, em seguida, converter a string em minúsculas para verificar se a string é um palíndromo.

O valor do parâmetro da função pode ser "racecar", "RaceCar"e "race CAR".

Quando você não conseguir completar o desafio, lembre-se de usar o grande movimento 'Ler-Pesquisar-Perguntar'.

function palindrome (str) {   // Escreva seu código aqui   var oldstr = str.replace (/ [-,., _, /, (,), \,,:,] / g, ''). toLowerCase () ; // Remova   regularmente espaços e pontuação var newstr = oldstr.toLowerCase (). Split (''). Reverse (). Join (''); // Inverta a ordem alfabética das palavras   return (newstr == = oldstr) ; }




palíndromo ("olho");

# 256 Encontre a palavra mais longa em uma string

Encontre a palavra mais longa

Encontre a palavra mais longa na frase e retorne seu comprimento.

O valor de retorno da função deve ser um número.

Quando você não conseguir completar o desafio, lembre-se de usar o grande movimento 'Ler-Pesquisar-Perguntar'.

Aqui estão alguns recursos para ajudá-lo:

Usando o método sort () de matriz, o método sort () precisa aceitar uma função de comparação que compare dois valores e, em seguida, retorna um número para ilustrar a ordem relativa dos dois valores

function findLongestWord (str) {   // Escreva seu código aqui nt   var array = str.split ('');   array.sort (function (f, n) {     return n.length-f.length;    });   array de retorno [0] .length; }






findLongestWord ("A rápida raposa marrom saltou sobre o cão preguiçoso");
// O segundo é um método mais comum, primeiro divida a matriz na menor unidade e depois compare.

function findLongestWord (str) {    var array = str.split (''); // Divida as frases em palavras e salve-as no array array    var result = 0; // Defina um pequeno objetivo primeiro      para (var i = 1; i <array.length; i ++) {// percorre a palavra         if (result <= array [i] .length) {// compare o comprimento da palavra com o resultado              result = array [i] .length; // atribua o comprimento da palavra longa para o resultado e prosseguir. Próxima comparação           }       }    resultado de retorno; // resultado de retorno }








# 257 Caixa do título uma frase

Coloque a primeira letra da palavra em maiúscula na frase

Certifique-se de que a primeira letra de cada palavra na string esteja em maiúscula e o resto em minúsculas.

O mesmo é verdadeiro para conectores como 'o' e 'de'.

Quando você não conseguir completar o desafio, lembre-se de usar o grande movimento 'Ler-Pesquisar-Perguntar'.

Aqui estão alguns recursos para ajudá-lo:

string.split ()

function titleCase (str) {   // Escreva seu código aqui   var newStr = str.toLowerCase (). split (''); // No início, ao atribuir valores iniciais, primeiro converta letras maiúsculas em minúsculas.   for (var i = 0; i <newStr.length; i ++) {// Loop por meio de     newStr [i] = newStr [i] .charAt (0) .toUpperCase () + newStr [i] .slice (1); / / A partir do primeiro elemento, converta a string em maiúsculas e, em seguida, adicione a matriz existente para retornar um elemento específico   }   return newStr.join (""); // Coloque todos os elementos da matriz na string }






titleCase ("Sou um bule de chá");

 

# 258 Retorna os maiores números de matrizes

Encontre o maior número em várias matrizes

 

function maioresOfFour (arr) {   // escreva seu código aqui   var newArr = [];   for (var i = 0; i <arr.length; i ++) // faça um loop em     {       newArr.push (Math.max .apply ( Math, arr [i])); // Faça um valor máximo nos dados em Math.max       // e Math.max suporta Math.max (arr1, arr2), não suporta Math.max ([arr1, arr2] ), basta aplicar para suportar Math.max (null, arr [i]).     }   return newArr; }








largeOfFour ([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
 

# 259 Confirme o final

Verifique o final da string para determinar se uma string (str) termina com a string especificada (destino).

function confirmEnding (str, target) {   // Por favor, escreva seu código aqui   if (str.substr (str.length-target.length) == target) // Pegue o último caractere do primeiro elemento e o valor inicial Se for correto, retorna verdadeiro, caso contrário, retorna falso      {       retornar verdadeiro;     } senão {       retornar falso;     } }







  

confirmEnding ("Bastian", "n");
 

# 260 Repete uma string repita uma string

String de saída de repetição

(O importante é dito 3 vezes)

Uma string repetida especificada numvezes, se for numum número negativo ou uma string vazia.

function repeat (str, num) {   // Escreva seu código aqui   var string = ""; // Primeiro crie um caractere nulo   para (var i = 0; i <num; i ++) // Loop através uma vez, a cada Adicionar str     {       string = string + str;     }   if (num <0) {// retornar um caractere nulo quando for menor que 0     return "";   }   retornar string; }










repetir ("abc", 3);
# 261 Truncar uma string

Cadeia de caracteres truncada

(Use Ryze para cortar a retirada oposta)

Se o comprimento dos parâmetros de string do que o numcomprimento especificado , coloque as partes desnecessárias ...são representadas.

Lembre-se de que os três pontos inseridos no final da corda também estão incluídos no comprimento da corda.

No entanto, se o parâmetro especificado for nummenor ou igual a 3, os três pontos adicionados não serão incluídos no comprimento da string.

function truncate (str, num) {   var length = str.length; // Primeiro julgue o comprimento de str   var string = ''; // Um ​​contêiner de string vazio   if (num <length) {// Se o valor de num for menor que str, intercepta o valor do caractere     if (num <= 3) {// Se o parâmetro especificado num for menor ou igual a 3, os três pontos adicionados não serão incluídos no comprimento da string.       string = str.slice (0, num) + '...';     } else {       string = str.slice (0, num-3) + '...';     }     return string;   }   return str; }











truncar ("A-tisket a-tasket A green and yellow basket", 11);
# 262 Macaco robusto

O macaco come banana e divide o conjunto

(Os macacos comem bananas, mas se partem em vários pedaços para comer)

Para uma matriz arrde acordo com o tamanho especificado da matriz sizeé dividida em vários blocos de matriz.

Por exemplo: chunk ([1,2,3,4], 2) = [[1,2], [3,4]];

pedaço ([1,2,3,4,5], 2) = [[1,2], [3,4], [5]];

function chunk (arr, size) {   // Escreva seu código aqui   var newarr = []; // Primeiro forneça uma matriz vazia   para (var i = 0; i <arr.length; i + = size) {/ / Percurso do loop , se i for menor que o valor inicial da função, faça um loop     newarr.push (arr.slice (i, i + size)); // Intercepte de 0 até o final inicial da atribuição de função, se i for maior do que arr.length, Termina o loop   }   return newarr; // Pega o valor e retorna a matriz }






pedaço (["a", "b", "c", "d"], 2);
 

# 263 Slasher Flick

Matriz truncada

Retorna os nelementos restantes de uma matriz depois de truncado um elemento, o truncamento começa no índice 0.

function slasher (arr, howMany) {   // Escreva seu código aqui   arr.splice (0, howMany); // O método altera o conteúdo de uma matriz excluindo elementos existentes e / ou adicionando novos elementos   return arr; }



slasher ([1, 2, 3], 2);

# 264 Mutações

Se o primeiro elemento de string da matriz contiver todos os caracteres do segundo elemento de string, a função retornará verdadeiro.

Por exemplo, ["hello", "Hello"]ele deve retornar verdadeiro, porque todos os caracteres da segunda string podem ser encontrados na primeira string, ignorando as maiúsculas e minúsculas.

["hello", "hey"]Deve retornar falso porque a string "hello" não contém o caractere "y".

["Alien", "line"]Deve retornar verdadeiro, porque todos os caracteres em "linha" podem ser encontrados em "Alien"

function mutation (arr) {   // Marque se a matriz na segunda string pode ser encontrada na primeira string   var flag = true;       for (var j = 0; j <arr [1] .length; j ++) {       // Traverse os caracteres na segunda string em arr na primeira string na matriz arr       // indexOf () diferencia maiúsculas de minúsculas e mudam para minúsculas antes de passar para toLowerCase ()       //str.indexOf () retorna os caracteres A posição onde a string primeiro aparece, ou -1       se não aparece if (arr [0] .toLowerCase (). indexOf (arr [1] .charAt (j) .toLowerCase ()) == - 1)         flag = false;     }     if (flag == verdadeiro)     retorna verdadeiro; caso   contrário,     retorna falso;    }













mutação (["olá", "heo"]);

# 265  Falsy Bouncer 
exclui todos os valores falsos do array. 
Em JavaScript, os valores falsos são falso, nulo, 0, "", indefinido e NaN (não é um número). 
Nota:

arr.filter (função)

  • Finalmente retorna um array recém-criado, o array original não é afetado
  • função é uma função de teste, use o método de função para testar cada caractere em arr; se o teste de função for aprovado, ele retorna verdadeiro e o elemento é adicionado à matriz recém-criada
  • Para booleano (elemento) , quando elemento = falso, 0, "", indefinido, NAN, todos retornam falso

function bouncer (arr) {   // Por favor, escreva seu código aqui   // Se o elemento de detecção for false, null, 0, "", undefined, NAN (não um número), então retorne false; caso contrário, retorne true   function isTure (element) {    return Boolean (element);   }   // Use a string que retorna true por meio da função isture em arr para formar uma nova matriz e retorna false   arr = arr.filter (isTure);   return arr; }








segurança ([7, "comeu", "", falso, 9]);

# 266 Seek and Destroy

Destrua a matriz

Argamassa de Jinks!

Implemente uma função de destruição, o primeiro parâmetro é o array a ser destruído e os parâmetros restantes são os valores a serem destruídos.

argumentos

  • Objeto de função implícito
  • Não há necessidade de especificar explicitamente o nome do parâmetro, você pode acessá-lo diretamente
  • O objeto de argumentos não é um Array real, é semelhante a um array, mas não possui os atributos e métodos específicos para o array. Além de length, você pode chamar arguments.length
  • Aqui não estou muito claro sobre o uso do objeto implícito, preste atenção a isso mais tarde

function destroyer (arr) {   // escreva seu código aqui   // argumentos podem capturar a matriz arr, aqui é semelhante a arr   // cria uma matriz vazia   var newarr = [];   // forma uma com os valores a serem destruído Nova matriz newarr   para (var j = 1; j <argumentos.length; j ++)     {       newarr.push (argumentos [j]);     }  // Retorna caracteres que não existem em newarr, ou seja, o último caractere a ser   função retida notDestroyer (elemento) {     return newarr.indexOf (element) <0;   }   var temp = arr.filter (notDestroyer);   return temp; }












    



destruidor ([1, 2, 3, 1, 2, 3], 2, 3);
 

# 267 Onde eu pertenço

Onde estou?

Classifique a matriz primeiro, depois encontre a posição do valor especificado na matriz e, por fim, retorne o índice correspondente à posição.

Exemplo: where([1,2,3,4], 1.5)deve retornar 1. Porque ele se torna depois de ser 1.5inserido na matriz , e o valor do índice correspondente é .[1,2,3,4][1,1.5,2,3,4]1.51

Da mesma forma, where([20,3,5], 19)deve ser devolvido 2. Como a matriz será classificada primeiro [3,5,20], ela será depois de 19inserida na matriz e o valor de índice correspondente será .[3,5,20][3,5,19,20]192

function where (arr, num) {   // Escreva seu código aqui   // Insira o valor na primeira matriz push na matriz push   arr.push (num);   // Classifique por ordem de caractere   function compareNumbers (a, b) {     return ab;   }  // Classificação de letras   arr.sort (compareNumbers);   // Retorna a posição do índice na matriz de valor especificada   return arr.indexOf (num); }











onde ([40, 60], 50);

 

# 268 Cifra Caesars

Código César

(Deixe Deus pertencer a Deus, César pertencer a César)

Vamos apresentar a cifra de César Caesar cipherque é popular em todo o mundo , também chamada de cifra de mudança.

A senha de deslocamento significa que as letras na senha serão alteradas na quantidade especificada.

Um caso comum é a senha ROT13 , onde as letras serão deslocadas em 13 posições. From'A '↔'N', 'B' ↔'O 'e assim por diante.

function rot13 (str) {// LBH QVQ VG!
  // Escreva seu código aqui
  // Crie uma matriz
  var newstr = [];
 for (var i = 0; i <str.length; i ++) {     / / Se o letras maiúsculas são de AM, charCodeAt (i) +13     if (str.charAt (i)> = 'A' && str.charAt (i) <= 'M')                {        newstr.push (String.fromCharCode (str.charCodeAt ( i) +13));      }      // Se as letras maiúsculas são da Nova Zelândia, charCodeAt (i) -13, porque apenas 26 letras maiúsculas são alteradas     senão if (str.charAt (i)> = 'N' && str.charAt ( i) <= 'Z')     {       newstr.push (String.fromCharCode (str.charCodeAt (i) -26 + 13));          }      // Caracteres que não sejam letras maiúsculas permanecem inalterados, empurre para a matriz     senão {       newstr.push (str.charAt (i));       }     } 















  return newstr.join ("");
}

rot13 ("SERR PBQR PNZC"); // Você pode modificar esta linha para testar seu código
#

Noções básicas de JavaScript: usando operadores ternários

Operadores condicionais (também chamados de operadores ternários) são tão úteis quanto expressões if-else escritas em uma única linha

A sintaxe é a seguinte:

function checkEqual (a, b) {

return (a! = b? false: true);

}

 

checkEqual (1, 2);

 

Acho que você gosta

Origin blog.csdn.net/youyouxiong/article/details/81176706
Recomendado
Clasificación