Rumah  >  Artikel  >  hujung hadapan web  >  Tukar tatasusunan jquery kepada pasangan nilai kunci

Tukar tatasusunan jquery kepada pasangan nilai kunci

WBOY
WBOYasal
2023-05-28 12:54:37817semak imbas

Dalam pembangunan bahagian hadapan, pemprosesan tatasusunan dan objek sering terlibat. Apabila kita perlu menukar tatasusunan kepada pasangan nilai kunci, kita boleh menggunakan kaedah $.map() dan $.each() dalam jQuery. Berikut adalah pengenalan terperinci kepada penggunaan kedua-dua kaedah ini.

1. Kaedah $.map()

Kaedah $.map() boleh menukar satu tatasusunan kepada tatasusunan lain dan semasa proses penukaran ini, kami boleh melakukan operasi dan mengembalikan nilai baharu. Sintaks asasnya adalah seperti berikut:

jQuery.map( array, callback [, thisArg ] )

di mana tatasusunan mewakili tatasusunan yang akan diproses, panggil balik mewakili fungsi panggil balik yang beroperasi pada setiap elemen dan mengembalikan nilai baharu, dan Arg ini mewakili objek konteks pilihan.

Untuk senario menukar kepada pasangan nilai kunci, kita boleh menggunakan kaedah $.map() untuk memproses tatasusunan asal dan menukar setiap elemen di dalamnya menjadi objek pasangan nilai kunci.

Sebagai contoh, kami mempunyai arr tatasusunan, yang mengandungi beberapa elemen rentetan Sekarang kami ingin menukarnya menjadi pasangan nilai kunci, di mana semua elemen adalah kunci dan nilainya adalah benar, maka kita boleh. Tulis seperti ini:

var arr = ["apple", "pear", "banana", "orange"];
var kvObj = $.map(arr, function(item, index) {
    var obj = {};
    obj[item] = true;
    return obj;
});
console.log(kvObj); // [{ apple: true }, { pear: true }, { banana: true }, { orange: true }]

Dalam kod di atas, kami mentakrifkan fungsi panggil balik yang menerima dua parameter, item dan indeks. Fungsi ini menukar setiap elemen kepada objek di mana elemen adalah kunci dan nilainya adalah benar, dan mengembalikan objek. Hasil akhir yang dikembalikan ialah tatasusunan objek, setiap objek adalah pasangan nilai kunci.

2. Kaedah $.each()

Berbeza dengan kaedah $.map(), kaedah $.each() boleh merentasi tatasusunan atau objek dan melaksanakan panggilan balik pada setiap elemen fungsi. Parameter fungsi panggil balik termasuk kunci dan nilai elemen.

Sintaks asasnya adalah seperti berikut:

jQuery.each( collection, callback(indexInArray, valueOfElement) )

Antaranya, koleksi mewakili objek atau tatasusunan yang akan dilalui, dan panggil balik mewakili fungsi panggil balik yang memproses setiap elemen.

Kita boleh menukar tatasusunan kepada pasangan nilai kunci, yang juga boleh dicapai melalui kaedah $.each().

Sebagai contoh, kami mempunyai arr tatasusunan, yang mengandungi beberapa elemen rentetan Sekarang kami ingin menukarnya menjadi pasangan nilai kunci, di mana semua elemen adalah kunci dan nilainya adalah elemen yang sepadan dalam. Tatasusunan. Kedudukan indeks dalam , maka anda boleh menulisnya seperti ini:

var arr = ["apple", "pear", "banana", "orange"];
var kvObj = {};
$.each(arr, function(index, item) {
    kvObj[item] = index;
});
console.log(kvObj); // { apple: 0, pear: 1, banana: 2, orange: 3 }

Dalam kod di atas, kami mentakrifkan fungsi panggil balik yang menerima dua indeks dan item parameter. Setiap kali elemen dilalui, elemen digunakan sebagai kunci dan kedudukan indeksnya digunakan sebagai nilai, disimpan dalam objek. Hasil akhir yang dikembalikan ialah objek pasangan nilai kunci.

Ringkasan:

Di atas ialah dua kaedah untuk menukar tatasusunan jQuery kepada pasangan nilai kunci. Sesuai untuk senario yang berbeza, anda boleh memilih kaedah mana yang hendak digunakan. Apabila berurusan dengan tatasusunan dan objek, kita boleh menggunakan kaedah $.map() dan $.each() mengikut keperluan sebenar untuk meningkatkan kecekapan dan kebolehbacaan kod tersebut.

Atas ialah kandungan terperinci Tukar tatasusunan jquery kepada pasangan nilai kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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