Maison >interface Web >js tutoriel >Comment convertir une chaîne de notation par points en référence d'objet en JavaScript ?

Comment convertir une chaîne de notation par points en référence d'objet en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-17 13:25:13652parcourir

How to Convert a Dot Notation String to an Object Reference in JavaScript?

Comment convertir une chaîne JavaScript en notation par points en une référence d'objet

À l'aide d'une ligne simple et élégante, il est possible de convertir une chaîne JavaScript en notation par points vers une référence d'objet. Voici comment :

'a.b.etc'.split('.').reduce(index, obj)

où index est une fonction utilisée pour l'indexation.

Diviser la chaîne en un tableau

Avant d'effectuer la conversion, la chaîne de notation par points est divisée en un tableau à l'aide de la méthode split('.'). Par exemple, la chaîne 'a.b.etc' serait divisée en ['a', 'b', 'etc'].

Utilisation de la méthode de réduction pour l'indexation

La méthode de réduction est utilisée pour parcourir le tableau et indexer l'objet. L'accumulateur o représente l'objet actuel en cours d'indexation et i est l'élément actuel du tableau. La fonction index est appliquée à chaque élément, où elle renvoie o[i], la valeur indexée dans l'objet actuel.

Mettre le tout ensemble

Combiner la chaîne opérations de fractionnement et d'indexation, nous obtenons ce qui suit :

'a.b.etc'.split('.').reduce(function(o, i) { return o[i] }, obj)

Cela renverra la valeur imbriquée, obj.a.b.etc, de l'original référence d'objet.

Remarque : Il existe des méthodes alternatives, mais cette one-liner offre élégance et simplicité.

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