Maison > interface Web > js tutoriel > Questions essentielles sur l'algorithme JavaScript pour la pratique

Questions essentielles sur l'algorithme JavaScript pour la pratique

WBOY
Libérer: 2024-08-28 06:05:32
original
335 Les gens l'ont consulté

Essential JavaScript Algorithm Questions for Practice

Que vous vous prépariez pour un entretien de codage ou que vous cherchiez à perfectionner vos compétences en résolution de problèmes, la pratique des algorithmes est essentielle pour maîtriser JavaScript. Les algorithmes ne sont pas réservés aux développeurs avancés : ils sont fondamentaux pour comprendre comment manipuler les données et optimiser les performances de vos applications.

Dans cet article, nous explorerons quelques questions essentielles sur les algorithmes JavaScript que tout développeur devrait mettre en pratique. Ces questions couvrent une gamme de sujets, de la manipulation de base des tableaux à la gestion des chaînes plus complexes, vous donnant une base solide pour aborder des problèmes plus avancés.


1. Inverser une chaîne

Problème :
Écrivez une fonction qui prend une chaîne en entrée et renvoie la chaîne inversée.

Exemple :

// Input: "hello"
// Output: "olleh"
Copier après la connexion

Solution :
Il existe plusieurs façons d'inverser une chaîne en JavaScript. L'une des méthodes les plus simples consiste à diviser la chaîne en un tableau de caractères, à inverser le tableau, puis à le réunir à nouveau en une chaîne.

function reverseString(str) {
  return str.split('').reverse().join('');
}

console.log(reverseString("hello")); // Output: "olleh"
Copier après la connexion

2. Recherchez les palindromes

Problème :
Un palindrome est un mot ou une phrase qui se lit de la même manière vers l'arrière et vers l'avant. Écrivez une fonction pour vérifier si une chaîne donnée est un palindrome.

Exemple :

// Input: "racecar"
// Output: true

// Input: "hello"
// Output: false
Copier après la connexion

Solution :
Vous pouvez réutiliser la méthode d'inversion de chaîne pour vérifier si la chaîne d'origine est égale à son inverse.

function isPalindrome(str) {
  const reversedStr = str.split('').reverse().join('');
  return str === reversedStr;
}

console.log(isPalindrome("racecar")); // Output: true
console.log(isPalindrome("hello"));   // Output: false
Copier après la connexion

3. Trouver le plus grand nombre dans un tableau

Problème :
Écrivez une fonction qui prend un tableau de nombres en entrée et renvoie le plus grand nombre.

Exemple :

// Input: [1, 2, 3, 4, 5]
// Output: 5
Copier après la connexion

Solution :
Vous pouvez utiliser la méthode Math.max en combinaison avec l'opérateur spread pour trouver le plus grand nombre.

function findLargest(arr) {
  return Math.max(...arr);
}

console.log(findLargest([1, 2, 3, 4, 5])); // Output: 5
Copier après la connexion

4. FizzBuzz

Problème :
Écrivez une fonction qui imprime les nombres de 1 à 100. Mais pour les multiples de trois, imprimez « Fizz » au lieu du nombre, et pour les multiples de cinq, imprimez « Buzz ». Pour les nombres multiples de trois et cinq, imprimez « FizzBuzz ».

Solution :
Il s'agit d'une question d'entretien classique qui teste votre capacité à implémenter des boucles et des conditions de base.

function fizzBuzz() {
  for (let i = 1; i <= 100; i++) {
    if (i % 3 === 0 && i % 5 === 0) {
      console.log("FizzBuzz");
    } else if (i % 3 === 0) {
      console.log("Fizz");
    } else if (i % 5 === 0) {
      console.log("Buzz");
    } else {
      console.log(i);
    }
  }
}

fizzBuzz();
Copier après la connexion

5. Factorialiser un nombre

Problème :
Écrivez une fonction qui renvoie la factorielle d'un nombre. La factorielle d'un nombre n est le produit de tous les entiers positifs inférieurs ou égaux à n.

Exemple :

// Input: 5
// Output: 120 (5 * 4 * 3 * 2 * 1)
Copier après la connexion

Solution :
Les factorielles peuvent être résolues de manière récursive ou itérative. Voici un exemple utilisant la récursion :

function factorialize(num) {
  if (num === 0 || num === 1) {
    return 1;
  } else {
    return num * factorialize(num - 1);
  }
}

console.log(factorialize(5)); // Output: 120
Copier après la connexion

6. Trouver le mot le plus long dans une chaîne

Problème :
Écrivez une fonction qui prend une chaîne en entrée et renvoie la longueur du mot le plus long.

Exemple :

// Input: "The quick brown fox jumped over the lazy dog"
// Output: 6 (jumped)
Copier après la connexion

Solution :
Vous pouvez diviser la chaîne en un tableau de mots, puis réduire le tableau pour trouver le mot le plus long.

function findLongestWord(str) {
  const words = str.split(' ');
  let maxLength = 0;

  for (let word of words) {
    if (word.length > maxLength) {
      maxLength = word.length;
    }
  }

  return maxLength;
}

console.log(findLongestWord("The quick brown fox jumped over the lazy dog")); // Output: 6
Copier après la connexion

7. Supprimer les doublons d'un tableau

Problème :
Écrivez une fonction qui supprime les valeurs en double d'un tableau.

Exemple :

// Input: [1, 2, 2, 3, 4, 4, 5]
// Output: [1, 2, 3, 4, 5]
Copier après la connexion

Solution :
L'un des moyens les plus simples de supprimer les doublons consiste à utiliser un ensemble, qui stocke uniquement des valeurs uniques.

function removeDuplicates(arr) {
  return [...new Set(arr)];
}

console.log(removeDuplicates([1, 2, 2, 3, 4, 4, 5])); // Output: [1, 2, 3, 4, 5]
Copier après la connexion

Conclusion

La pratique de ces questions fondamentales sur l'algorithme JavaScript améliorera vos compétences en résolution de problèmes et vous préparera à des défis plus avancés. En maîtrisant ces bases, vous serez mieux équipé pour aborder des algorithmes et des structures de données complexes, essentiels à l'écriture d'un code efficace et évolutif. Continuez à vous entraîner et vous constaterez des améliorations dans votre vitesse et votre précision de codage !

Bon codage ?‍?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal