Conversion d'une chaîne de notation par points JavaScript en une référence d'objet
En JavaScript, vous pouvez rencontrer des scénarios dans lesquels vous devez convertir une chaîne de notation par points , tel que "a.b", dans une référence à une propriété imbriquée dans un objet. Cela peut être particulièrement utile lorsque vous travaillez avec des structures de données complexes ou des données provenant de sources externes.
Une solution simple consiste à utiliser la fonction eval() :
var obj = { a: { b: '1', c: '2' } }; eval('var val = obj.a.b'); console.log(val); // '1'
Cependant, en utilisant eval( ) est généralement déconseillé en raison de problèmes de sécurité et de problèmes de performances potentiels.
Une approche plus fiable consiste à utiliser l'accès basé sur l'index en utilisant une combinaison de fractionnement et de réduire :
function index(obj, path) { return path.split('.').reduce((o, i) => o[i], obj); } var val = index(obj, 'a.b'); console.log(val); // '1'
Cette fonction divise efficacement le chemin à chaque point ('.') et utilise la réduction pour accéder de manière itérative aux propriétés imbriquées dans l'objet.
En utilisant cette technique, vous pouvez convertissez en toute sécurité et efficacement les chaînes de notation par points en références d'objet.
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!