Saya baru -baru ini mengalami masalah:
Salin kode kode sebagai berikut:
var obj = {"name1": "zhang san", "name2": "li si"};
var key = "name1";
var value = obj.key; // dapatkan "tidak ditentukan"
nilai = obj.name1; // dapatkan "Zhang San"
Sebenarnya, saya ingin secara dinamis menetapkan nilai ke kunci dan kemudian mendapatkan nilai kunci sebanyak itu. Tetapi pendekatan ini tidak berhasil.
Jadi, saya memikirkan cara untuk melintasi sifat objek di JS:
Salin kode kode sebagai berikut:
function printObject (obj) {
// obj = {"cid": "c0", "ctext": "distrik dan county"};
var test = "" ;;
untuk (var i di obj) {// loop melalui properti objek dengan javascript untuk/in
temp+= i+":"+obj [i]+"/n";
}
Peringatan (temp); // Hasil: CID: C0/N CTEXT: Distrik dan Kabupaten
}
Dengan cara ini, Anda dapat dengan jelas tahu apa kunci dan nilai suatu objek di JS masing -masing.
Kembali ke pertanyaan sekarang, bagaimana cara menetapkan nilai secara dinamis ke kunci dan kemudian mendapatkan nilai yang sesuai di obj.key?
Bahkan, ada prompt dalam cetak di atas, yaitu, metode OBJ [kunci] digunakan, kunci bisa dinamis, yang memecahkan masalah yang saya angkat di atas.
Akhirnya, ada metode lain yang dapat dilakukan, yaitu: eval ("obj."+Key).
Meringkaskan:
Ada dua cara untuk mendapatkan nilai yang sesuai dalam objek tertentu berdasarkan kunci dinamis di JS:
1. Var key = "name1"; var value = obj [key];
2. Var key = "name1"; var value = eval ("obj."+Key);