


Comment créer une fonction LongestWord en JavaScript avec explication technique
Trouvez le mot le plus long en JavaScript avec longestWord
D'accord, donc cette fois, je veux parler d'une fonction simple mais assez intéressante que j'ai rencontrée en apprenant JavaScript et que j'ai trouvée sur codewars. Le nom de la fonction est le plus longWord. Comme son nom l'indique, cette fonction recherchera et renverra le mot le plus long d'une chaîne.
Je vais vous expliquer pourquoi cette fonction fonctionne, quelles méthodes sont utilisées et les raisons. Allez, passons directement à l'explication détaillée !
Le but de la fonction Mot le plus long
Cette fonction a une tâche simple : elle accepte la saisie sous la forme d'une chaîne contenant plusieurs mots (séparés par des espaces), puis renvoie le mot le plus long. S'il s'avère qu'il y a plus d'un mot de même longueur, cette fonction prendra le dernier mot trouvé.
Un exemple est le suivant :
longestWord("Aku sedang belajar JavaScript yang menyenangkan"); // Output: "menyenangkan"
longestWord("red blue gold"); // Output: "gold"
Code de fonction
Voici le code, il est vraiment court, mais ce qui est cool c'est que dans les coulisses, il se passe beaucoup de choses :
function longestWord(stringOfWords) { return stringOfWords .split(' ') // Pecah string jadi array kata-kata .sort((a, b) => a.length - b.length) // Urutkan berdasarkan panjang .slice(-1) // Ambil elemen terakhir (kata terpanjang) .toString(); // Ubah jadi string lagi }
Explication technique
1. Diviser une chaîne en un tableau de mots : .split(' ')
Tout d'abord, la chaîne saisie est divisée en un tableau de mots avec la méthode split(' "). Les espaces dans la chaîne sont donc comme des séparateurs entre les mots.
Par exemple :
"Aku sedang belajar".split(' '); // Output: ["Aku", "sedang", "belajar"]
Ceci est important car nous ne pouvons pas manipuler directement des chaînes comme des tableaux. Avec split, chaque mot devient un élément de tableau très simple à gérer.
2. Tri des mots par longueur : .sort((a, b) => a.length - b.length)
Après avoir constitué un tableau, nous trions les mots du plus court au plus long en utilisant la méthode de tri.
En quelque sorte, je donne un rappel (a, b) => a.longueur - b.longueur. Essentiellement, je demande à JavaScript de trier les éléments du tableau par longueur.
Le résultat ?
["Aku", "sedang", "belajar"].sort((a, b) => a.length - b.length); // Output: ["Aku", "sedang", "belajar"]
3. Prenez le mot le plus long : .slice(-1)
Le tableau étant trié, le mot le plus long doit être à la fin du tableau. Ainsi, la fonction slice(-1) consiste à prendre le dernier élément.
Un exemple est le suivant :
["Aku", "sedang", "belajar"].slice(-1); // Output: ["belajar"]
4. Changez-le à nouveau en chaîne : .toString()
Le résultat de slice(-1) est en fait toujours sous la forme d'un tableau, même s'il ne contient qu'un seul élément. Pour qu'il corresponde au résultat demandé, nous le reconvertissons en chaîne en utilisant toString().
Résultat final :
longestWord("Aku sedang belajar JavaScript yang menyenangkan"); // Output: "menyenangkan"
Pourquoi utiliser ces méthodes ?
- split(' ') : Comme les chaînes sont immuables (ne peuvent pas être modifiées directement), je les ai d'abord divisées en un tableau pour qu'elles soient faciles à traiter.
- sort() : Le moyen le plus rapide de trouver l'élément le plus grand ou le plus long est de trier d'abord les données.
- slice(-1) : Il s'agit d'une astuce simple pour récupérer immédiatement le dernier élément du tableau.
- toString() : Puisque la sortie finale doit être une chaîne, c'est la dernière étape.
Pour moi, la fonction longestWord est comme un bon exercice pour mémoriser certaines méthodes importantes en JavaScript, notamment pour travailler avec des chaînes et des tableaux. Grâce à cette fonction, je comprends également mieux le fonctionnement du fractionnement, du tri, du slice et du toString.
Si vous avez d'autres idées pour résoudre ce problème, ou peut-être souhaitez-vous une optimisation plus poussée, discutons-en ensemble dans la colonne des commentaires ! ?
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant
