我在HTML5和JavaScript中編寫貨幣轉換應用程序,並對轉換率進行了硬編碼。問題是有33種貨幣我希望能夠進行轉換。這就產生了一個問題,因爲我能想到的唯一方法就是使用if語句,這意味着我將不得不編寫1056 if語句。 即替代數百/數千條if語句
if (homeCountry = "uk" and destinationCountry = "france") {
rate = 1.32;
}
if (homeCountry = "uk" and destinationCountry = "japan") {
rate = 183.79;
}
英國所有的轉化,然後
if (homeCountry = "japan" and destinationCountry = "france") {
rate = 0.0074;
}
if (homeCountry = "japan" and destinationCountry = "china") {
rate = 0.053;
}
對於所有日語converions等
即使使用switch語句,這將仍然是一個巨大的代碼輸入量。我想知道是否有人可以想出一個解決方案,使它稍微乏味。我一直在想一段時間的解決方案,現在我卡住了。誰能幫忙?由於
如何使用2dson對象,例如'var rates = {uk:{japan:183.79,france:1.32},japan:{france:0.0074,china:0.053}}'然後使用rate = rates [homeCountry] [destionationCountry]'; – 2015-02-23 16:50:16
嗯,它是一個33x33的簡單矩陣 - 所以您可以將所有轉換存儲在表格中並根據貨幣單位查找(如果我是你,我不會使用「國家」)。當然,你可以很容易地刪除一半的值,因爲'A - > B'與'B - > A'相反。所有貨幣都可以相互轉換,因此您可以使用一種貨幣作爲參考價值,並且僅將此參考價格的33次轉換存儲到其他貨幣中。 – Luaan 2015-02-23 16:51:19
@Luaan使用參考貨幣肯定是最好的解決方案 – howderek 2015-02-23 16:55:07