Gunakan pernyataan ifelse untuk mengendalikan gabungan berbilang pembolehubah
P粉420958692
2023-08-18 14:08:36
<p>Saya mempunyai dua pembolehubah seperti berikut:</p>
<pre class="brush:php;toolbar:false;">var a = "active" //[Dua kemungkinan nilai aktif/tidak aktif]
var b = "tidak aktif" //[Tiga kemungkinan nilai aktif/dikunci/dilumpuhkan]
var hasil = ""
if(a="aktif" && b="aktif")
hasil = "a";
elif(a=="aktif" && b=="dikunci")
hasil = "b"
elif(a=="aktif" && b="dilumpuhkan")
hasil = "c"
elif(a=="tidak aktif" && b="aktif")
hasil = "d"
elif(a=="tidak aktif" && b=="dilumpuhkan")
hasil = "e"
elif(a=="tidak aktif" && b=="dikunci")
hasil = "f"</pre>
<p>Dalam JS, selain menggunakan ifelse untuk menyemak keadaan yang berbeza, apakah cara paling berkesan untuk menerangkan kemungkinan hasil? Sila berikan cadangan. </p>
Anda boleh menjadikan logik anda lebih dipacu data dengan menggunakan objek, contohnya:
Anda kemudian boleh menggunakan
a
访问该对象,并访问嵌套对象的值来设置您的outcome
pembolehubah, contohnya:Sila ambil perhatian bahawa jika
a
除了您提到的值之外还可以是任何其他值,最好在访问b
之前检查outcomeMap[a]
是否为undefined
。如果您的环境支持,可以使用可选链来完成,例如:outcomeMap[a]?.[b];
Sebagai alternatif, anda boleh menyediakan tatasusunan yang mengandungi gabungan yang mungkin dan kemudian mengulanginya untuk menyemak sama ada gabungan anda sepadan. Kemudian, berdasarkan indeks semasa, jika hasil ditemui, anda boleh mengindeks pada hasil anda (
outcomes
), contohnya:Sila ambil perhatian bahawa tiada kaedah yang lebih cekap daripada menggunakan pernyataan if. Walau bagaimanapun, jika anda mempunyai lebih banyak kemungkinan, ia sepatutnya lebih mudah untuk skala.