Maison > interface Web > js tutoriel > Comment accéder aux objets et tableaux JavaScript imbriqués à l'aide de chemins de chaîne ?

Comment accéder aux objets et tableaux JavaScript imbriqués à l'aide de chemins de chaîne ?

Susan Sarandon
Libérer: 2024-12-26 14:22:16
original
168 Les gens l'ont consulté

How to Access Nested JavaScript Objects and Arrays Using String Paths?

Accès aux objets et tableaux JavaScript par chemin de chaîne

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'
        }
    ]
};
Copier après la connexion

Pour récupérer des valeurs imbriquées à l'aide chemins de chaînes, les techniques suivantes peuvent être utilisées :

JavaScript pur

À 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;
};
Copier après la connexion

Utilisation :

Object.byString(someObject, 'part3[0].name'); // "Part 3A"
Copier après la connexion

jQuery

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"
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal