Dans certains scénarios, les développeurs rencontrent souvent des structures de données avec une imbrication complexe et sont confrontés au défi d'accéder à des valeurs spécifiques en leur sein à l'aide de chaînes comme chemins.
Par exemple, 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' } ] };
Pour récupérer des valeurs imbriquées à l'aide chemins de chaînes, les techniques suivantes peuvent être utilisées :
À l'aide de la fonction utilitaire Object.byString, vous pouvez parcourir l'objet et accéder à des valeurs spécifiques :
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(someObject, 'part3[0].name'); // "Part 3A"
La méthode $.val() de jQuery peut également être utilisé pour parcourir les objets et les tableaux imbriqués :
$.val('part1.name', someObject); // "Part 1" $.val('part2.qty', someObject); // 60 $.val('part3[0].name', someObject); // "Part 3A"
Les deux approches offrent des moyens pratiques d'accéder aux données dans les structures imbriquées par des chemins de chaînes, simplifiant ainsi la gestion et la manipulation de données complexes.
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!