Resumen del ejercicio de Free Code Camp (3) -Scripting de algoritmo básico

Actualizaré mi escritura todos los días. Lo he estado aprendiendo por un tiempo y todavía estoy muy impresionado. Volveré a revisar los conocimientos básicos previos y viviré para aprender. Espero ayudar a algunos estudiantes en FreecodeCamp, actualizaré el código que estoy escribiendo FreecodeCamp todos los días. Espero que todos puedan ayudar.

# 253 Invertir una cuerda

Convierta la cadena en una matriz, luego use el método inverso de la matriz para invertir el orden de la matriz y, finalmente, convierta la matriz en una cadena.

function reverseString (str) {   // Por favor escriba su código aquí   return str.split (''). reverse (''). join (''); // El método split () usa la cadena de separación especificada Dividir un objeto String en una matriz de cadenas para separar la cadena en subcadenas para determinar la ubicación de cada división.   // El método reverse () invierte la posición de los elementos en la matriz.   El método // join () une todos los elementos de una matriz (o un objeto similar a una matriz) en una cadena y devuelve esta cadena. }




reverseString ("hola");
# 254 Factorializar un número

Cálculo del factorial de un número entero Si se utiliza la letra n para representar un número entero, el factorial representa el producto de todos los números enteros menores o iguales que N.

function factorialize (num) {// Método recursivo
  // Por favor escriba su código aquí
  if (num <0)
  {     return -1;   } else if (num === 0 || num === 1)     {       return 1;     } else if (num> 1)     {         return (num * factorialize (num-1));     }







}

factorialize (5);
// método while método de iteración

function factorialize (num) {// while
  // Por favor escriba su código aquí
  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 el método de recorrido de bucle


  
  function factorialize (num) {// while
  // Por favor escriba su código aquí
 
   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;        }      return num;          }







         




         

  
}

factorializar (5);

# 255 Comprueba si hay palíndromos

Si la cadena dada es un palíndromo, regresa true, de lo contrario, regresa false.

Si una cadena ignora la puntuación, las mayúsculas y minúsculas y los espacios, y se lee exactamente igual que al revés, entonces la cadena es palíndromo (palíndromo).

Tenga en cuenta que debe eliminar la puntuación y los espacios adicionales en la cadena, y luego convertir la cadena a minúsculas para verificar si la cadena es un palíndromo.

El valor del parámetro de la función puede ser "racecar", "RaceCar"y "race CAR".

Cuando no pueda completar el desafío, recuerde usar el gran movimiento 'Leer-Buscar-Preguntar'.

function palindrome (str) {   // Por favor escriba su código aquí   var oldstr = str.replace (/ [-,., _, /, (,), \,,:,] / g, ''). toLowerCase () ; // Elimina   regularmente los espacios y la puntuación var newstr = oldstr.toLowerCase (). Split (''). Reverse (). Join (''); // Invierte el orden alfabético de las palabras   return (newstr == = oldstr) ; }




palíndromo ("ojo");

# 256 Encuentra la palabra más larga en una cadena

Encuentra la palabra más larga

Encuentra la palabra más larga de la oración y devuelve su longitud.

El valor de retorno de la función debe ser un número.

Cuando no pueda completar el desafío, recuerde usar el gran movimiento 'Leer-Buscar-Preguntar'.

Aquí hay algunos recursos para ayudarlo:

Usando el método de matriz sort (), el método sort () necesita aceptar una función de comparación que compara dos valores y luego devuelve un número para ilustrar el orden relativo de los dos valores

function findLongestWord (str) {   // Por favor escriba su código aquí nt   var array = str.split ('');   array.sort (function (f, n) {     return n.length-f.length;    });   return array [0] .longitud; }






findLongestWord ("El zorro marrón rápido saltó sobre el perro perezoso");
// El segundo es un método más común, primero divide la matriz en la unidad más pequeña y luego compara.

function findLongestWord (str) {    var array = str.split (''); // Divide oraciones en palabras y guárdalas en la matriz array    var result = 0; // Establece primero una pequeña meta      para (var i = 1; i <array.length; i ++) {// recorre la palabra         if (result <= array [i] .length) {// compara la longitud de la palabra con el resultado              result = array [i] .length; // asigna el longitud de la palabra larga hasta el resultado y continuar Siguiente comparación           }       }    devolver resultado; // devolver resultado }








# 257 Título caso a oración

Ponga en mayúscula la primera letra de la palabra en la oración

Asegúrese de que la primera letra de cada palabra de la cadena esté en mayúscula y el resto en minúsculas.

Lo mismo es cierto para conectores como 'el' y 'de'.

Cuando no pueda completar el desafío, recuerde usar el gran movimiento 'Leer-Buscar-Preguntar'.

Aquí hay algunos recursos para ayudarlo:

string.split ()

function titleCase (str) {   // Por favor escriba su código aquí   var newStr = str.toLowerCase (). split (''); // Al principio, cuando asigne valores iniciales, primero convierta las letras mayúsculas a minúsculas.   for (var i = 0; i <newStr.length; i ++) {//     Recorrer newStr [i] = newStr [i] .charAt (0) .toUpperCase () + newStr [i] .slice (1); / / Desde el primer elemento, convierta la cadena a mayúsculas, luego agregue la matriz existente para devolver un elemento específico   }   return newStr.join (""); // Ponga todos los elementos de la matriz en la cadena }






titleCase ("Soy una pequeña tetera");

 

# 258 Devuelve los números más grandes en matrices

Encuentre el número más grande en varias matrices

 

function largerOfFour (arr) {   // por favor escriba su código aquí   var newArr = [];   for (var i = 0; i <arr.length; i ++) // recorrer     {       newArr.push (Math.max .apply ( Math, arr [i])); // Hacer un valor máximo en los datos en Math.max       // y Math.max es compatible con Math.max (arr1, arr2), no es compatible con Math.max ([arr1, arr2] ), solo aplique para admitir Math.max (null, arr [i]).     }   return newArr; }








más grande de Cuatro ([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
 

# 259 Confirma el final

Compruebe el final de la cadena para determinar si una cadena (cadena) termina con la cadena especificada (destino).

function confirmEnding (str, target) {   // Por favor escriba su código aquí   if (str.substr (str.length-target.length) == target) // Tome el último carácter del primer elemento y el valor inicial Si es correcto, devuelve verdadero; de lo contrario, devuelve falso      {       devolver verdadero;     } else {       devolver falso;     } }







  

confirmEnding ("Bastian", "n");
 

# 260 Repite una cuerda repite una cuerda

Repita la cadena de salida

(Lo importante se dice 3 veces)

Una cadena repetida numveces especificada , si es numun número negativo o una cadena vacía.

function repeat (str, num) {   // Por favor escribe tu código aquí   var string = ""; // Primero crea un carácter nulo   para (var i = 0; i <num; i ++) // Recorre una vez, cada Add str     {       string = string + str;     }   if (num <0) {// devuelve un carácter nulo cuando es menor que 0     return "";   }   return string; }










repetir ("abc", 3);
# 261 Truncar una cadena

Truncar cadena

(Usa Ryze para cortar la retirada opuesta)

Si la longitud de los parámetros de la cadena supera la numlongitud especificada , coloque las partes innecesarias que ...están representadas.

Recuerde, los tres puntos insertados al final de la cuerda también se incluyen en la longitud de la cuerda.

Sin embargo, si el parámetro especificado es nummenor o igual a 3, los tres puntos agregados no se incluirán en la longitud de la cadena.

function truncate (str, num) {   var length = str.length; // Primero juzga la longitud de str   var string = ''; // Un contenedor de string vacío   if (num <length) {// Si el valor de num es menor que str, interceptar Valor de carácter     if (num <= 3) {// Si el parámetro especificado num es menor o igual a 3, los tres puntos agregados no se incluirán en la longitud de la cadena.       string = str.slice (0, num) + '...';     } else {       string = str.slice (0, num-3) + '...';     }     return string;   }   return str; }











truncar ("A-tisket a-tasket Una canasta verde y amarilla", 11);
# 262 Mono grueso

El mono come plátano y divide la matriz.

(Los monos comen plátanos, pero se parten en varios trozos para comer)

Para una matriz arrde acuerdo con el tamaño especificado de la matriz sizese divide en varios bloques de matriz.

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

trozo ([1,2,3,4,5], 2) = [[1,2], [3,4], [5]];

function chunk (arr, size) {   // Por favor, escriba su código aquí   var newarr = []; // Primero proporcione una matriz vacía   para (var i = 0; i <arr.length; i + = size) {/ / Loop traversal , si i es menor que el valor inicial de la función, haz un ciclo     newarr.push (arr.slice (i, i + size)); // Intercepta desde 0 hasta el final inicial de la asignación de función, si i es mayor que arr.length, End the loop   }   return newarr; // Obtiene el valor y devuelve la matriz }






fragmento (["a", "b", "c", "d"], 2);
 

# 263 Película Slasher

Matriz truncada

Devuelve los nelementos restantes de una matriz después de truncar un elemento, el truncamiento comienza en el índice 0.

function slasher (arr, howMany) {   // Por favor escriba su código aquí   arr.splice (0, howMany); // El método cambia el contenido de una matriz eliminando elementos existentes y / o agregando elementos nuevos   return arr; }



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

# 264 Mutaciones

Si el primer elemento de cadena de la matriz contiene todos los caracteres del segundo elemento de cadena, la función devuelve verdadero.

Por ejemplo, ["hello", "Hello"]debería devolver verdadero, porque todos los caracteres de la segunda cadena se pueden encontrar en la primera cadena ignorando las mayúsculas y minúsculas.

["hello", "hey"]Debería devolver falso porque la cadena "hola" no contiene el carácter "y".

["Alien", "line"]Debería devolver verdadero, porque todos los caracteres en "línea" se pueden encontrar en "Alien"

function mutation (arr) {   // Marque si la matriz de la segunda cadena se puede encontrar en la primera cadena   var flag = true;       for (var j = 0; j <arr [1] .length; j ++) {       // Traverse los caracteres en la segunda cadena en arr en la primera cadena en la matriz arr       // indexOf () distingue entre mayúsculas y minúsculas, y cambia a minúsculas antes de atravesar toLowerCase ()       //str.indexOf () devuelve caracteres La posición donde la cadena primero aparece, o -1       si no aparece if (arr [0] .toLowerCase (). indexOf (arr [1] .charAt (j) .toLowerCase ()) == - 1)         flag = false;     }     if (flag == verdadero)     devuelve verdadero; de lo   contrario,     devuelve falso;    }













mutación (["hola", "heo"]);

# 265  Falsy Bouncer 
elimina todos los valores falsos en la matriz. 
En JavaScript, los valores falsos son falso, nulo, 0, "", indefinido y NaN (no es un número). 
Nota:

arr.filter (función)

  • Finalmente devuelve una matriz recién creada, la matriz original no se ve afectada
  • función es una función de prueba, use el método de función para probar cada carácter en arr; si la prueba de función pasa, devuelve verdadero, entonces el elemento se agrega a la matriz recién creada
  • Para booleano (elemento) , cuando elemento = falso, 0, "", indefinido, NAN, todos devuelven falso

function bouncer (arr) {   // Por favor, escriba su código aquí   // Si el elemento de detección es falso, nulo, 0, "", indefinido, NAN (no es un número), devuelva falso; de lo contrario, devuelva verdadero   función isTure (elemento) {    return Boolean (element);   }   // Usa la cadena que devuelve verdadero a través de la función isture en arr para formar una nueva matriz, y devuelve false   arr = arr.filter (isTure);   return arr; }








gorila ([7, "comió", "", falso, 9]);

# 266 Busca y destruye

Destruye la matriz

¡El mortero de Jinks!

Implemente una función de destrucción, el primer parámetro es la matriz que se va a destruir y los parámetros restantes son los valores que se van a destruir.

argumentos

  • Objeto de función implícito
  • No es necesario especificar explícitamente el nombre del parámetro, puede acceder a él directamente
  • El objeto de argumentos no es una matriz real, es similar a una matriz, pero no tiene los atributos y métodos específicos de la matriz. Además de la longitud, puede llamar a argument.length
  • Aquí no tengo muy claro el uso del objeto implícito, preste atención más tarde

function destroyer (arr) {   // por favor escribe tu código aquí   // los argumentos pueden capturar el arreglo arr, aquí es similar a arr   // crea un arreglo vacío   var newarr = [];   // forma uno con los valores a ser destruido Nueva matriz newarr   for (var j = 1; j <argumentos.longitud; j ++)     {       newarr.push (argumentos [j]);     }  // Devuelve caracteres que no existen en newarr, es decir, el último carácter   función retenida notDestroyer (elemento) {     return newarr.indexOf (elemento) <0;   }   var temp = arr.filter (notDestroyer);   return temp; }












    



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

# 267 ¿A dónde pertenezco?

¿Dónde estoy?

Primero ordene la matriz, luego busque la posición del valor especificado en la matriz y, finalmente, devuelva el índice correspondiente a la posición.

Ejemplo: where([1,2,3,4], 1.5)debería volver 1. Porque se convierte después de 1.5insertarse en la matriz , y el valor de índice correspondiente es .[1,2,3,4][1,1.5,2,3,4]1.51

De la misma forma, where([20,3,5], 19)deberá devolverse 2. Debido a que la matriz se ordenará primero [3,5,20], se volverá después de 19insertarla en la matriz , y el valor de índice correspondiente será .[3,5,20][3,5,19,20]192

function where (arr, num) {   // Por favor escriba su código aquí   // Inserte el valor en la primera matriz push en la matriz push   arr.push (num);   // Ordenar por orden de caracteres   function compareNumbers (a, b) {     return ab;   }  //   Clasificación de letras arr.sort (compareNumbers);   // Devuelve la posición del índice en la matriz de valores especificada   return arr.indexOf (num); }











donde ([40, 60], 50);

 

# 268 Cifrado Caesars

Código César

(Que Dios pertenezca a Dios, César pertenezca a César)

Vamos a presentar el cifrado César Caesar cipherque es popular en todo el mundo , también llamado cifrado por turno.

La contraseña de cambio significa que las letras de la contraseña se cambiarán en la cantidad especificada.

Un caso común es la contraseña ROT13 , donde las letras se desplazarán 13 posiciones. From'A '↔'N', 'B' ↔'O ', etc.

function rot13 (str) {// LBH QVQ VG!
  // Por favor escriba su código aquí
  // Cree una matriz
  var newstr = [];
 for (var i = 0; i <str.length; i ++) {     / / Si el las letras mayúsculas son de AM, charCodeAt (i) +13     if (str.charAt (i)> = 'A' && str.charAt (i) <= 'M')                {        newstr.push (String.fromCharCode (str.charCodeAt ( i) +13));      }      // Si las letras mayúsculas son de NZ, charCodeAt (i) -13, porque solo se cambian 26 letras mayúsculas en     caso contrario si (str.charAt (i)> = 'N' && str.charAt ( i) <= 'Z')     {       newstr.push (String.fromCharCode (str.charCodeAt (i) -26 + 13));          }      // Los caracteres que no sean letras mayúsculas permanecen sin cambios, insertar en la matriz     else {       newstr.push (str.charAt (i));       }     } 















  return newstr.join ("");
}

rot13 ("SERR PBQR PNZC"); // Puedes modificar esta línea para probar tu código
#

Conceptos básicos de JavaScript: uso de operadores ternarios

Los operadores condicionales (también llamados operadores ternarios) son tan útiles como las expresiones if-else escritas en una sola línea

La sintaxis es la siguiente:

function checkEqual (a, b) {

return (a! = b? falso: verdadero);

}

 

checkEqual (1, 2);

 

Supongo que te gusta

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