Heim > Web-Frontend > js-Tutorial > Wie kann ich mithilfe von String-Pfaden einfach auf verschachtelte JavaScript-Objekte und -Arrays zugreifen?

Wie kann ich mithilfe von String-Pfaden einfach auf verschachtelte JavaScript-Objekte und -Arrays zugreifen?

Linda Hamilton
Freigeben: 2024-12-23 11:56:08
Original
684 Leute haben es durchsucht

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

Zugriff auf verschachtelte JavaScript-Objekte und Arrays über den String-Pfad

Der Zugriff auf tief verschachtelte Objekte und Arrays in JavaScript kann eine umständliche Aufgabe sein. Um dies zu vereinfachen, wurde eine Lösung entwickelt, die einen String-Pfad nutzt, um bestimmte Werte direkt abzurufen.

Reine JavaScript-Lösung

Eine reine JavaScript-Lösung namens „Object.byString( )“ ermöglicht die Extraktion verschachtelter Werte mithilfe einer Zeichenfolge, die einem durch Punkte getrennten Pfad folgt. Diese Lösung funktioniert wie folgt:

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;
}
Nach dem Login kopieren

Verwendung:

Object.byString(someObj, 'part3[0].name');
Nach dem Login kopieren

jQuery-Lösung

jQuery bietet eine einfachere Syntax für den Zugriff auf verschachtelte Werte:

$('someObj').data('part3[0].name');
Nach dem Login kopieren

Beispiel Verwendung

Betrachten Sie das folgende Objekt:

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'
        }
    ]
};
Nach dem Login kopieren

Mithilfe der bereitgestellten Zeichenfolgenpfade können wir wie folgt auf bestimmte Werte zugreifen:

var part1name = Object.byString(someObject, 'part1.name');
var part2quantity = Object.byString(someObject, 'part2.qty');
var part3name1 = Object.byString(someObject, 'part3[0].name');
Nach dem Login kopieren

Diese Variablen werden Halten Sie nun die entsprechenden Werte aus dem verschachtelten Objekt bereit.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von String-Pfaden einfach auf verschachtelte JavaScript-Objekte und -Arrays zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage