Artikel asli diterbitkan di: http://www.birchlee.com/post/2011/10/19/27.aspx
JavaScript sering kali menemukan beberapa pasangan nilai kunci, yang sebelumnya diimplementasikan menggunakan array dua dimensi. Saat ini, kami hanya mensimulasikan kelas bantuan Kamus.
Prinsip: Buat objek yang berisi dua array, array kunci dan array nilai, dan panggil metode objek Javascript Array.
Alamat referensi W3C: http://www.w3school.com.cn/js/jsref_obj_array.asp
Metode BuildDictionary() digunakan untuk membuat objek Kamus yang berisi dua array
Metode AddItem memanggil metode push objek Array JavaScript untuk menambahkan kunci dan nilai ke array yang sesuai.
Metode UpdateItem digunakan untuk mengubah nilai yang sesuai
Metode DeleteItem memanggil metode Splice dari objek Array JavaScript untuk menghapus elemen. Parameter pertama adalah indeks elemen yang akan dihapus, dan parameter pertama mewakili nomor yang akan dihapus.
GetKeyStr digunakan untuk mendapatkan string setelah menggabungkan array Keys
GetValueStr digunakan untuk mendapatkan string setelah menggabungkan array Nilai.
Berisi total lima metode:
/*Membuat Kamus*/
fungsi BuildDictionary() {
dic = Objek baru();
dic.Keys = Array baru(); //array kunci
dic.Nilai = Array baru(); //nilai array
kembalikan dic;
}
/*Tambahkan kunci, nilai*/
function AddItem(kunci, nilai, dic) {
var keyCount = dic.Keys.panjang;
jika (jumlah kunci > 0) {
var bendera = benar;
untuk (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == kunci) {
bendera = salah;
break; //Jika ada, jangan tambahkan
}
}
jika (bendera) {
dic.Keys.push(kunci)
dic.Values.push(nilai);
}
}
kalau tidak {
dic.Keys.push(kunci)
dic.Values.push(nilai);
}
kembalikan dik;
}
/*Ubah kunci, nilai*/
function UpdateItem(kunci, nilai, dic) {
var keyCount = dic.Keys.panjang;
jika (jumlah kunci > 0) {
var bendera = -1;
untuk (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == kunci) {
bendera = saya;
break; //Temukan indeks yang sesuai
}
}
jika (bendera > -1) {
dic.Keys[bendera] = kunci;
dic.Values[bendera] = nilai;
}
kembalikan dik;
}
kalau tidak {
kembalikan dik;
}
}
/*Hapus nilai kunci*/
function DeleteItem(kunci, dic) {
var keyCount = dic.Keys.panjang;
jika (jumlah kunci > 0) {
var bendera = -1;
untuk (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == kunci) {
bendera = saya;
break; //Temukan indeks yang sesuai
}
}
jika (bendera > -1) {
dic.Keys.splice(bendera,1); //Hapus
dic.Values.splice(bendera, 1); //Hapus
}
kembalikan dik;
}
kalau tidak {
kembalikan dik;
}
}
/*Dapatkan string Kunci dan gabungkan dengan simbol*/
fungsi GetKeyStr(pemisah,dik)
{
var keyCount=dic.Keys.panjang;
jika(jumlah kunci>0)
{
return dic.Keys.join(pemisah);
}
kalau tidak
{
kembali '';
}
}
/*Dapatkan string Nilai dan gabungkan dengan simbol*/
fungsi GetValueStr(pemisah,dik)
{
var keyCount=dic.Keys.panjang;
jika(jumlah kunci>0)
{
return dic.Values.join(separator);
}
kalau tidak
{
kembali '';
}
}
Penggunaan: Buat variabel global dan operasikan variabel global ini untuk menggunakannya.
Inilah awal yang baik