Maison >interface Web >js tutoriel >Comment puis-je inverser une chaîne en JavaScript sans utiliser les fonctions d'inversion intégrées ?

Comment puis-je inverser une chaîne en JavaScript sans utiliser les fonctions d'inversion intégrées ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-09 20:29:15828parcourir

How Can I Reverse a String in JavaScript Without Using Built-in Reverse Functions?

Inversion de chaîne sur place en JavaScript

L'inversion d'une chaîne sur place est une tâche de programmation courante, et JavaScript propose diverses méthodes pour y parvenir. ce. Un défi consiste à inverser la chaîne sans utiliser de fonctions intégrées telles que .reverse() ou .charAt().

Approche 1 : Manipulation de tableau

Si vous le pouvez comptez sur le traitement des caractères ASCII, vous pouvez tirer parti de l'approche suivante :

function reverse(s) {
    return s.split("").reverse().join("");
}

Cette méthode divise la chaîne en un tableau de caractères, inverse le tableau et le réunit à nouveau en une chaîne.

Approche 2 : Expansion du tableau compatible Unicode

Pour les chaînes contenant des caractères multi-octets (par exemple, UTF- 16), envisagez d'utiliser l'opérateur d'expansion de tableau :

function reverse(s) {
    return [...s].reverse().join("");
}

Approche 3 : Split avec Regular Expression

Une autre solution compatible Unicode utilisant split() implique l'utilisation d'une expression régulière avec l'indicateur u (Unicode) :

function reverse(s) {
    return s.split(/(?:)/u).reverse().join("");
}

Remarque : Ces les solutions supposent une chaîne de points de code ASCII ou Unicode. Si vous avez affaire à des chaînes contenant des paires de substitution ou des caractères complexes, des techniques plus avancées peuvent être nécessaires.

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