Maison >interface Web >js tutoriel >Comment accéder facilement aux objets et tableaux JavaScript imbriqués à l'aide de chemins de chaîne ?
Accès aux objets et tableaux JavaScript imbriqués par chemin de chaîne
Accéder aux objets et tableaux profondément imbriqués en JavaScript peut être une tâche fastidieuse. Pour simplifier cela, une solution a émergé qui exploite un chemin de chaîne pour récupérer directement des valeurs spécifiques.
Solution JavaScript pure
Une solution JavaScript pure appelée "Object.byString( )" permet l'extraction de valeurs imbriquées à l'aide d'une chaîne qui suit un chemin séparé par des points. Cette solution fonctionne comme suit :
Object.byString = function(o, s) { s = s.replace(/\[(\w+)\]/g, '.'); // convert indexes to properties s = s.replace(/^\./, ''); // strip a leading dot var a = s.split('.'); for (var i = 0, n = a.length; i < n; ++i) { var k = a[i]; if (k in o) { o = o[k]; } else { return; } } return o; }
Utilisation :
Object.byString(someObj, 'part3[0].name');
Solution jQuery
jQuery propose une syntaxe plus simple pour accéder aux valeurs imbriquées :
$('someObj').data('part3[0].name');
Exemple Utilisation
Considérons l'objet suivant :
var someObject = { 'part1' : { 'name': 'Part 1', 'size': '20', 'qty' : '50' }, 'part2' : { 'name': 'Part 2', 'size': '15', 'qty' : '60' }, 'part3' : [ { 'name': 'Part 3A', 'size': '10', 'qty' : '20' }, { 'name': 'Part 3B', 'size': '5', 'qty' : '20' }, { 'name': 'Part 3C', 'size': '7.5', 'qty' : '20' } ] };
En utilisant les chemins de chaîne fournis, nous pouvons accéder à des valeurs spécifiques comme suit :
var part1name = Object.byString(someObject, 'part1.name'); var part2quantity = Object.byString(someObject, 'part2.qty'); var part3name1 = Object.byString(someObject, 'part3[0].name');
Ces variables seront conservez maintenant les valeurs correspondantes de l'objet imbriqué.
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!