"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > String - Desafios de JavaScript

String - Desafios de JavaScript

Publicado em 2024-11-08
Navegar:682

String - JavaScript Challenges

Você pode encontrar todo o código nesta postagem no repo Github.


Desafios relacionados a cordas


É alfanumérico

/**
 * @param {any} char
 * @return {Boolean}
 */

function isAlphaNumeric(char) {
  return /[A-Za-z0-9]/.test(char);
}

// Usage example
console.log(isAlphaNumeric("a")); // => true
console.log(isAlphaNumeric(0)); // => true
console.log(isAlphaNumeric("!")); // => false

Estojo camelo Estojo cobra

// camel case to snake case
/**
 * @param {string} str
 * @return {string}
 */
function toKebabCase(str) {
  let temp = str.replace(/[A-Z]/g, function (i) {
    return "_"   i.toLowerCase();
  });

  if (temp[0] === "_") {
    temp = temp.slice(1);
  }

  return temp;
}

// Usage example
console.log(toKebabCase("testMethod")); // => "test_method"

// snake case to camel case
/**
 * @param {string} str
 * @return {string}
 */
function toCamelCase(str) {
  return str.replace(
    /([a-z])_([a-z])/gi,
    (_, left, right) => left   right.toUpperCase()
  );
}

// Usage example
console.log(toCamelCase("test_method")); // => "testMethod"

Comparar números de versão

/**
 * @param {string} version1
 * @param {string} version2
 * @return {number}
 */

function compareVersion(version1, version2) {
  const v1Arr = version1.split(".");
  const v2Arr = version2.split(".");

  for (let i = 0; i  v2Num) {
      return 1;
    } else if (v1Num  1, meaning first one is greater
console.log(compareVersion("12.1.0", "12.1.2")); // => -1, meaning latter one is greater
console.log(compareVersion("5.0.1", "5.0.1")); // => 0, meaning they are equal.

Classificação de números de versão

/**
 * @param {string[]} versions
 * @return {string[]}
 */

function sortVersions(versions) {
  return versions.sort((a, b) => {
    const aParts = a.split(".").map(Number);
    const bParts = b.split(".").map(Number);

    for (let i = 0; i  [ '0.1.1', '0.302.1', '2.3.3', '4.2', '4.3.4.5', '4.3.5' ]

Comprimir uma string
/**
 * @param {string} str
 * @return {string}
 */

function compress(str) {
  if (!str) {
    return "";
  }

  let compressed = "";
  let count = 1;

  for (let i = 1; i  1) {
        compressed  = count;
      }
      count = 1;
    }
  }

  return compressed;
}

// Usage example
console.log(compress("a")); // 'a'
console.log(compress("aa")); // 'a2'
console.log(compress("aaa")); // 'a3'
console.log(compress("aaab")); // 'a3b'
console.log(compress("aaabb")); // 'a3b2'
console.log(compress("aaabba")); // 'a3b2a'
/** * @param {string} string * @return {string} */ função compactar(str) { se (!str) { retornar ""; } deixe compactado = ""; vamos contar = 1; for (seja i = 1; i 1) { compactado = contagem; } contagem = 1; } } retorno comprimido; } //Exemplo de uso console.log(comprimir("a")); // 'um' console.log(comprimir("aa")); // 'a2' console.log(comprimir("aaa")); //'a3' console.log(comprimir("aaab")); //'a3b' console.log(comprimir("aaabb")); //'a3b2' console.log(compress("aaabba")); //'a3b2a'

Descompacte uma string
/**
 * @param {string} str
 * @return {string}
 */

function compress(str) {
  if (!str) {
    return "";
  }

  let compressed = "";
  let count = 1;

  for (let i = 1; i  1) {
        compressed  = count;
      }
      count = 1;
    }
  }

  return compressed;
}

// Usage example
console.log(compress("a")); // 'a'
console.log(compress("aa")); // 'a2'
console.log(compress("aaa")); // 'a3'
console.log(compress("aaab")); // 'a3b'
console.log(compress("aaabb")); // 'a3b2'
console.log(compress("aaabba")); // 'a3b2a'
/** * @param {string} string * @returns {string} */ função descompactar(str) { pilha const = []; deixe CurrentNum = 0; deixe currentStr = ""; for (const char de str) { if (char >= "0" && char 'ababab' console.log(descompactar("3(ab2(c))")); // => 'abccabccabcc'

Encontre o comprimento da palavra mais longa em uma string
/**
 * @param {string} str
 * @return {string}
 */

function compress(str) {
  if (!str) {
    return "";
  }

  let compressed = "";
  let count = 1;

  for (let i = 1; i  1) {
        compressed  = count;
      }
      count = 1;
    }
  }

  return compressed;
}

// Usage example
console.log(compress("a")); // 'a'
console.log(compress("aa")); // 'a2'
console.log(compress("aaa")); // 'a3'
console.log(compress("aaab")); // 'a3b'
console.log(compress("aaabb")); // 'a3b2'
console.log(compress("aaabba")); // 'a3b2a'
/** * @param {string} string * @return {número} */ função comprimento mais longo(str) { const strArr = str.split(" "); deixe comprimento = 0; for (seja i = 0; i comprimento) { comprimento = strArr[i].comprimento; } } comprimento de retorno; } //Exemplo de uso console.log(longestLength("A palavra mais longa é a palavra mais longa")); // => 14

Encontre a palavra com maior comprimento em uma string
/**
 * @param {string} str
 * @return {string}
 */

function compress(str) {
  if (!str) {
    return "";
  }

  let compressed = "";
  let count = 1;

  for (let i = 1; i  1) {
        compressed  = count;
      }
      count = 1;
    }
  }

  return compressed;
}

// Usage example
console.log(compress("a")); // 'a'
console.log(compress("aa")); // 'a2'
console.log(compress("aaa")); // 'a3'
console.log(compress("aaab")); // 'a3b'
console.log(compress("aaabb")); // 'a3b2'
console.log(compress("aaabba")); // 'a3b2a'
/** * @param {string} string * @return {string[]} */ function Palavra mais longa(str) { const strArr = str.split(" "); resultado constante = []; seja máximo = 0; for (const char de strArr) { if (char.comprimento > máximo) { max = char.comprimento; } } for (const char de strArr) { if (char.length === máx.) { resultado.push(char); } } retornar resultado.join(""); } //Exemplo de uso console.log(longestWord("A palavra mais longa é a palavra mais longa")); // => "a palavra mais longa"

Personagem que ocorre com mais frequência
/**
 * @param {string} str
 * @return {string}
 */

function compress(str) {
  if (!str) {
    return "";
  }

  let compressed = "";
  let count = 1;

  for (let i = 1; i  1) {
        compressed  = count;
      }
      count = 1;
    }
  }

  return compressed;
}

// Usage example
console.log(compress("a")); // 'a'
console.log(compress("aa")); // 'a2'
console.log(compress("aaa")); // 'a3'
console.log(compress("aaab")); // 'a3b'
console.log(compress("aaabb")); // 'a3b2'
console.log(compress("aaabba")); // 'a3b2a'
/** * @param {string} string * @returns {string | corda[]} */ contagem de funções(str) { mapa const = novo mapa(); resultado constante = []; for (const char de str) { map.set(char, (map.get(char) ?? 0) 1); } const max = Math.max(...map.values()); for (const [chave, valor] do mapa) { if (valor === máximo) { resultado.push(chave); } } retornar resultado.comprimento === 1? resultado[0]: resultado; } //Exemplo de uso console.log(contagem("abbccc")); // => 'c' console.log(contagem("abbcccddd")); // => ['c', 'd'];

Obtenha o comprimento da string (suporte para emojis)
/**
 * @param {string} str
 * @return {string}
 */

function compress(str) {
  if (!str) {
    return "";
  }

  let compressed = "";
  let count = 1;

  for (let i = 1; i  1) {
        compressed  = count;
      }
      count = 1;
    }
  }

  return compressed;
}

// Usage example
console.log(compress("a")); // 'a'
console.log(compress("aa")); // 'a2'
console.log(compress("aaa")); // 'a3'
console.log(compress("aaab")); // 'a3b'
console.log(compress("aaabb")); // 'a3b2'
console.log(compress("aaabba")); // 'a3b2a'
/** * @param {String} string * @return {Número} */ função getStringLength(str) { retornar Array.from(new Intl.Segmenter().segment(str)).length; } //Exemplo de uso console.log(getStringLength("teste?")); // => 5 console.log("teste?".comprimento); // => 6

Referência
  • Alfanuméricos - Wikipedia.org
  • Convenção de nomenclatura (programação) - Wikipedia.org
  • 79. converter Snake_case em camelCase - BFE.dev
  • Controle de versão de software - Wikipedia.org
  • 157. semver comparar - BFE.dev
  • 165. Compare números de versão - LeetCode
  • 97. compactar uma string - BFE.dev
  • 173. descompactar string - BFE.dev
  • 145. caractere que ocorre com mais frequência -BFE.dev

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/mitchell_cheng/string-javascript-challenges-54cf?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3