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

Cara Mudah Mengakses Objek dan Tatasusunan JavaScript Bersarang Menggunakan Laluan Rentetan?

Linda Hamilton
Lepaskan: 2024-12-23 11:56:08
asal
637 orang telah melayarinya

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

Mengakses Objek dan Tatasusunan JavaScript Bersarang oleh Laluan Rentetan

Mengakses objek dan tatasusunan bersarang dalam dalam JavaScript boleh menjadi tugas yang menyusahkan. Untuk memudahkan ini, penyelesaian telah muncul yang memanfaatkan laluan rentetan untuk mendapatkan semula nilai tertentu secara langsung.

Penyelesaian JavaScript Tulen

Penyelesaian JavaScript tulen yang dipanggil "Object.byString( )" membolehkan pengekstrakan nilai bersarang menggunakan rentetan yang mengikut laluan yang dipisahkan titik. Penyelesaian ini berfungsi seperti berikut:

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(someObj, 'part3[0].name');
Salin selepas log masuk

jQuery Solution

jQuery menawarkan sintaks yang lebih mudah untuk mengakses nilai bersarang:

$('someObj').data('part3[0].name');
Salin selepas log masuk

Contoh Penggunaan

Pertimbangkan objek berikut:

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

Menggunakan laluan rentetan yang disediakan, kita boleh mengakses nilai tertentu seperti berikut:

var part1name = Object.byString(someObject, 'part1.name');
var part2quantity = Object.byString(someObject, 'part2.qty');
var part3name1 = Object.byString(someObject, 'part3[0].name');
Salin selepas log masuk

Pembolehubah ini akan sekarang pegang nilai yang sepadan daripada objek bersarang.

Atas ialah kandungan terperinci Cara Mudah 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