Eu tenho tentado perguntas da FCC recentemente, assim como a atualização para lutar contra monstros, passei um nível de cada vez, o que é bastante atraente para mim. Tomei tempo para fazer a parte básica do algoritmo hoje. De acordo com algumas dicas, é relativamente simples. Eu acho que os métodos de lidar com algumas perguntas valem a pena aprender. Por exemplo, às vezes você precisa processar um personagem em um projeto. Se você não consegue pensar em alguns métodos relacionados, é bastante problemático. Então, grave aqui. Se você encontrar alguns caracteres ou processamento de matriz no futuro, poderá pesquisar este artigo, na esperança de obter alguns avisos em vez de traduzir o documento.
Se você vir este blogueiro, se tiver código melhor e mais simples ou boas idéias, deixe uma mensagem para se comunicar (sempre acho que apenas aprendendo o excelente código de outras pessoas, você pode fazer um progresso mais rápido e um pensamento mais flexível). Para iniciantes, tente fazer isso sozinho sem olhar para o código. (As seguintes perguntas não precisam considerar os tipos de parâmetros. Estritamente falando, um julgamento deve ser feito nos tipos de parâmetros, por exemplo: tipo de (arg) === número)
1. Reverse uma corda
Flip String
Primeiro, converta a string em uma matriz, depois use o método reverso da matriz para girar a ordem da matriz e finalmente converter a matriz em uma string.
Seu resultado deve ser uma corda
função reverrestring (str) {str = str.split (''). reverse (). junção (''); return str;} reverrestring ("hello");2. Verifique para Palindromes
Se a string fornecida for palíndrome, retorne verdadeira, caso contrário, falsa.
Se uma string ignorar a pontuação, o caso e os espaços, e ler diretamente e ler de forma oposta, essa string será palíndrome (palíndroma).
Observe que você precisa remover a pontuação e os espaços extras da string e, em seguida, converta a string para minúsculas para verificar se a string é palíndrome.
O valor dos parâmetros de função pode ser "RaceCar", "RaceCar" e "Race Car".
função palindrome (str) {// boa sorte! str = str.Replace (/[/|/~ |/`|/! |/@|/#|/$ |/%|/^|/& |/*|/(|/) |/-|/_ |/+|/= |/| // |/|/[|/] |/{|/} |//;/|/| // '/'/| //10/[|/|/] Marcas, este é o meu Baidu, e eu não estou muito familiarizado com as regras JS = Str.Pleme (// S+/G); false;} palíndrome ("olho");/*palíndrome ("olho") deve retornar true.palindrome ("carro de corrida") deve retornar true.palindrome ("não um palíndromo") deve retornar verdadeiro.palindrome ("um homem, um plano, um canal. false.palindrome ("quaseomla") deve retornar false.palindrome ("Minha idade é 0, 0 si ega ym.") Deve retornar true.palindrome ("1 olho para 1 olho") deve retornar verdadeiro.3. Caso de título de uma frase
Certifique -se de que a primeira letra de cada palavra na string esteja capitalizada e o restante seja minúsculo. (por exemplo: titlecase ("I'm A Little Tea Pot") deve retornar "I'm A Little Tea Pot". Titlecase ("Short and Stout") deve retornar "curto e robusto".)
/*Esta pergunta é muito simples. O principal é entender que o split () é dividir uma corda em uma junta de matriz () é transformar a matriz em um string tolowercase () toupppercase () conversão de casos. Observe que é válido apenas para letras e outros caracteres (por exemplo:/,!@) são inválidos*/função titleCase (str) {str = str.split (""); // segmento da sequência em uma matriz de acordo com os espaços para (var i = 0; i <str.length; i ++) {str [i] =] str [i] = str [i] .Substring (0, 1) .toupPercase () + str [i] .Substring (1); } return str.join (""); // conecte a matriz em uma string através de espaços} titlecase ("Eu sou um pouco de chá");4. Confirme o final
Verifica se uma string (str) termina com a string especificada (destino).
Se sim, retorne verdadeiro; Caso contrário, retorne false. Por exemplo: confirmar ("Bastian", "N") deve retornar true. Confirminging ("Connor", "N") deve retornar false. Confirminging ("Andar com água e desenvolver software a partir de uma especificação é fácil se ambos estiverem congelados", "especificação") devem retornar falsos.
função confirming (str, alvo) {// "Nunca desista e boa sorte o encontrará". //-Falcor Return str.substr (str.Length-Target.length) == Target? verdadeiro: false;} confirmando ("bastian", "n"); confirmando ("ele tem que me dar um novo nome", "na");/*confirming ("bastian", "n") deve retornar true.confirminging ("Connor", "n") que o retorno é o retorno. false.confirminging ("Ele tem que me dar um novo nome", "nome") deve retornar true.confircending ("Ele tem que me dar um novo nome", "eu") deve retornar true.confircending ("Ele tem que me dar um novo nome," na ") deve retornar muito mais.5. Reprime uma string Repita uma string
Diga coisas importantes 3 vezes!
Repita uma string especificada Num Times e retorne uma string vazia se num for um número negativo. Por exemplo:
Repita ("*", 3) deve retornar "***".
Repita ("ABC", 3) deve retornar "abcabcabc".
Repita ("ABC", 4) deve retornar "abcabcabcabc".
Repita ("ABC", 1) deve retornar "ABC".
Repita ("*", 8) deve retornar "*********".
Repita ("ABC", -2) deve retornar "".
Quando você não puder concluir o desafio, lembre-se de usar o movimento final 'Read-Search-ask'.
Aqui estão alguns recursos que o ajudarão:
• Objeto de string global
Função Repita (str, num) {// Repita depois de mim var newsstr = str; if (num> 1) {for (var i = 1; i <num; i ++) {str += newstr; } retornar str; } else if (num == 1) {return str; } else {return ""; }} repetir ("abc", 3); repetir ("*", 3);6. Macaco de Chaunky
Os macacos comem bananas, mas dividem -os em várias seções para comê -las!
Divida uma Array ARR em vários blocos de matriz de acordo com o tamanho da matriz especificada.
Por exemplo: Chunk ([1,2,3,4], 2) = [[1,2], [3,4]];
chunk ([1,2,3,4,5], 2) = [[1,2], [3,4], [5]];
função chunk (arr, size) {// quebre -o.var arr1 = []; for (var i = 0; i <arr.length; i = i + size) {var arr2 = arr; arr1.push (arr2.slice (i, i + size)); } retornar arr1;} chunk (["a", "b", "c", "d"], 2);7. Bouncer defaltos
Rei do macaco verdadeiro e falso!
Exclua todos os valores falsos na matriz.
Em JavaScript, os valores falsos são falsos, nulos, 0, "", indefinidos e nan.
Quando você não puder concluir o desafio, lembre-se de usar o movimento final 'Read-Search-ask'.
Aqui estão alguns recursos que o ajudarão:
• Objetos booleanos
• Array.Filter ()
Por exemplo:
Bouncer ([7, "Ate", "", False, 9]) deve retornar [7, "Ate", 9].
Bouncer (["A", "B", "C"]) deve retornar ["A", "B", "C"].
Bouncer ([falso, nulo, 0, nan, indefinido, ""]) deve retornar [].
Bouncer ([1, null, nan, 2, indefinido]) deve retornar [1, 2].
/* Esta questão é sobre entender o filtro. Este é o meu código inicial. Não está bem escrito e tem pouco valor de referência. Você também deve prestar atenção à comparação da NAN. você mesmo não é igual a si mesmo (nan! = nan)*/função bouncer (arr) {// Não mostre um ID falso a este segurança. var Arr1 = []; var j = 0; arr.filter (function (val, index) {if (val === false || val === null || val === 0 || val === "" || val === indefinido || val! == val) {arr1.push (index);}}); var len = arr1.length; for (var i = 0; i <len; i ++) {arr.splice (arr1 [i] -j, 1); j ++; } retornar arr;} Bouncer ([7, "Ate", "", False, 9]);8. Venda e destrua
Argamassa de Jinx!
Implementar uma função de destruidor, o primeiro parâmetro é a matriz a ser destruída e os parâmetros restantes são os valores a serem destruídos.
Por exemplo:
Destruidor ([1, 2, 3, 1, 2, 3], 2, 3) deve retornar [1, 1].
Destruidor ([1, 2, 3, 5, 1, 2, 3], 2, 3) deve retornar [1, 5, 1].
Destruidor ([3, 5, 1, 2, 2], 2, 3, 5) deve retornar [1].
Destruidor ([2, 3, 2, 3], 2, 3) deve retornar [].
Destruidor (["Árvore", "Hamburger", 53], "Árvore", 53) deve retornar ["Hamburger"].
Aqui estão alguns recursos que o ajudarão:
• Objeto de argumentos
• Array.Filter ()
Função Destruidor (arr) {// Remova todos os valores var tempargudes = argumentos; Return Arr.Filter (function (Entrada) {for (var i = 1; i <tempargudes.Length; i ++) {if (entradas == tempargumas [i]) {return false;}} retorna true;});} destruidor ([1, 2, 3, 1, 3, 3], 2, 3);9. Onde eu pertenço
Onde estou?
Primeiro, classifique a matriz e depois encontre o valor especificado no local da matriz e finalmente retorne o índice correspondente ao local.
Por exemplo: onde ([1,2,3,4], 1,5) deve retornar 1. Porque 1.5 é inserido na matriz [1, 2, 3, 4] e se torna [1, 1,5, 2, 3, 4], e o valor do índice correspondente a 1,5 é 1.
Da mesma forma, onde ([20,3,5], 19) deve retornar 2. Como a matriz será classificada primeiro como [3,5,20], 19 é inserida na matriz [3,5,20] e se torna [3,5,19,20], e o valor do índice correspondente a 19 é 2.
Aqui estão alguns recursos que o ajudarão:
• Array.sort ()
função onde (arr, num) {// Encontre meu lugar nesta matriz classificada. // observe a regra de classificação () sort () class.sort (function (a, b) {return a- b;}); for (var i = 0; i <arr.length; i ++) {if (arr [i]> num | arr [i] == num) {return i; }} retornar arr.length;} onde ([5, 3, 20, 3], 5);10.CAesars Cipher
Deixe Deus pertencer a Deus e César pertence a César.
Em seguida, apresentaremos a César Cipher Capesar Cipher, também conhecida como senha de Shift, que é popular em todo o mundo.
A senha de mudança significa que as letras na senha serão deslocadas de acordo com o número especificado.
Um caso comum é a senha do ROT13 e as letras serão deslocadas por 13 posições. Por 'a' ↔ 'n', 'b' ↔ 'o', e assim por diante.
Escreva uma função ROT13 para implementar a string criptografada de entrada e produza a sequência descriptografada.
Todas as cartas são capitalizadas, não convertem nenhum caractere não-letra (por exemplo: espaços, marcas de pontuação). Se você encontrar esses personagens especiais, pule -os.
Por exemplo:
ROT13 ("Serr pbqr pnzc") deve ser decodificado para "Código de código livre"
ROT13 ("Serr cvmmn!") Deve ser decodificado como "pizza grátis!"
ROT13 ("Serr ybir?") Deve ser decodificado como "amor livre?"
ROT13 ("Gur dhvpx oebja qbt whzcrq bire gur ynml sbk.") Deve ser decodificado como "o rápido cachorro marrom pulou sobre a raposa preguiçosa".
Aqui estão alguns recursos que o ajudarão:
• string.charcodeat ()
• String.FromCharCode ()
Função Rot13 (str) {// lbh qvq vg! var arr = str.ToupperCase (). Split (""); var str1 = []; for (var i = 0; i <arr.length; i ++) {var arr1 = arr [i] .split (""); for (var j = 0; j <arr1.length; j ++) {var num = arr1 [j] .Charcodeat (); if (num> = 65 && num <= 90) {arr1 [j] = num + 13> 90? String.FromCharCode (64 + (NUM + 13 - 90)): String.FromCharCode (NUM + 13); // 64 + (num + 13 - 90) para entender por que é 64,}} str1.push (arr1.join ("" ")); } return str1.join ("");} // altere as entradas abaixo para testrot13 ("serr pbqr pnzc");O artigo acima discute brevemente alguns problemas básicos de algoritmo de caráter e matriz no JS é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.