Maison  >  Article  >  interface Web  >  Jour/jours de code : exploiter la puissance itérative de JavaScript

Jour/jours de code : exploiter la puissance itérative de JavaScript

王林
王林original
2024-09-08 20:36:091153parcourir

Day /  Days of Code: Harnessing JavaScript’s Iterative Power

Vendredi 6 septembre 2024

Bonjour à tous ! ?

Dans une démonstration de prouesses JavaScript, le projet actuel de vérificateur grammatical utilise des méthodes itératives telles que .forEach(), .map() et .filter() pour faciliter la transformation et le parcours des tableaux, mettant en valeur la force et l'élégance de La puissance itérative de JavaScript.

Tout d'abord, on nous donne une nouvelle sous forme de chaîne ; Ensuite, l'histoire est divisée en un tableau de mots séparés par des espaces :

let story = 'Last weekend, I took literally the most beautifull bike ride of my life. The route is called "The 9W to Nyack" and it stretches all the way from Riverside Park in Manhattan to South Nyack, New Jersey. It\'s really an adventure from beginning to end! It is a 48 mile loop and it literally took me an entire day. It was a short stop, though, because I had a freaking long way to go. After a quick photo op at the very popular Little Red Lighthouse I began my trek across the George Washington Bridge into New Jersey. The GW is a breathtaking 4,760 feet long!.[edited for brevity]';

let storyWords = story.split(' ');

Ensuite, c'est la vérification de l'orthographe et de la grammaire. Ces exemples sont des mots simples, bien que cela puisse être étendu avec un .map() de fautes d'orthographe et de modèles de langage courants :

let unnecessaryWord = 'literally';
let misspelledWord = 'beautifull';
let badWord = 'freaking';

Pour mettre à jour l'histoire, nous utilisons les méthodes d'itération que nous avons apprises, notamment .filter(), .map(), .findIndex() et .every(). Ensuite, nous supprimons le mot inutile « littéralement » en utilisant .filter() avec une fonction de flèche, comme c'est souvent le cas après ES6. Notez que storyWords est modifié sur place :

storyWords = storyWords.filter(word => {
  return word !== unnecessaryWord;
});

Ensuite, les corrections orthographiques sont appliquées via la fonction .map(), notant que .map() pourrait être utilisé de manière plus complète avec les paires de fautes d'orthographe et de correction courantes :

storyWords = storyWords.map( word => {
  return word === 'beautifull' ? 'beautiful' : word;
});

Dans le scénario donné, la grand-mère est censée lire le passage, donc le « mauvais » mot « freaking » est remplacé à l'aide de .findIndex() et d'une indexation directe.

let badWordIndex = storyWords.findIndex(word => word === badWord);
storyWords[badWordIndex] = 'really';

Enfin, une vérification est effectuée en tenant compte de la facilité de lecture, comme vous l'avez peut-être vu dans un score de lecture Flesch basé sur la longueur moyenne des mots ; Ici, on nous indique qu'il y a un mot de plus de 10 caractères et qu'il sera remplacé par « glorieux », en utilisant .forEach() pour trouver l'index, suivi d'un remplacement direct :

let index = 0;
storyWords.forEach(word, i) => {
  if (word.length > 10) index = i;
});
storyWords[index] = 'glorious';

Un code propre et lisible est crucial non seulement parce qu'il rend le code plus facile à comprendre et à maintenir, mais il réduit également le risque d'erreurs. Ceci est particulièrement important dans les environnements collaboratifs où plusieurs développeurs travaillent sur la même base de code. Les méthodes itératives telles que .forEach(), .map() et .filter() sont préférées aux boucles traditionnelles car elles offrent une approche plus déclarative du codage. Cela signifie que vous pouvez exprimer ce que vous souhaitez réaliser sans détailler le flux de contrôle, ce qui conduit à un code plus concis, plus facile à lire et moins sujet aux erreurs.

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!

Déclaration:
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