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 num
vezes, se for num
um 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 num
comprimento 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 num
menor 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 arr
de 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 n
elementos 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.5
inserido na matriz , e o valor do índice correspondente é .[1,2,3,4]
[1,1.5,2,3,4]
1.5
1
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 19
inserida na matriz e o valor de índice correspondente será .[3,5,20]
[3,5,19,20]
19
2
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 cipher
que é 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);