Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengakses Objek dan Tatasusunan JavaScript Bersarang Menggunakan Laluan Rentetan?

Bagaimana untuk Mengakses Objek dan Tatasusunan JavaScript Bersarang Menggunakan Laluan Rentetan?

Susan Sarandon
Lepaskan: 2024-12-26 14:22:16
asal
168 orang telah melayarinya

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

Mengakses Objek dan Tatasusunan JavaScript oleh Laluan Rentetan

Dalam senario tertentu, pembangun sering menghadapi struktur data dengan sarang yang kompleks dan menghadapi cabaran untuk mengakses nilai tertentu di dalamnya menggunakan rentetan sebagai laluan.

Sebagai contoh, pertimbangkan perkara berikut object:

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'
        }
    ]
};
Salin selepas log masuk

Untuk mendapatkan semula nilai bersarang menggunakan laluan rentetan, teknik berikut boleh digunakan:

JavaScript Tulen

Menggunakan fungsi utiliti Object.byString, anda boleh melintasi objek dan akses khusus nilai:

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;
};
Salin selepas log masuk

Penggunaan:

Object.byString(someObject, 'part3[0].name'); // "Part 3A"
Salin selepas log masuk

jQuery

kaedah $.val() jQuery juga boleh digunakan untuk menavigasi objek dan tatasusunan bersarang:

$.val('part1.name', someObject); // "Part 1"
$.val('part2.qty', someObject); // 60
$.val('part3[0].name', someObject); // "Part 3A"
Salin selepas log masuk

Kedua-dua pendekatan menyediakan cara yang mudah untuk mengakses data dalam struktur bersarang melalui laluan rentetan, memudahkan pengendalian dan manipulasi data yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Objek dan Tatasusunan JavaScript Bersarang Menggunakan Laluan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan