所以我正在編寫一個時區插件,我需要簡化if語句,因爲我想避免重複。我現在正在寫它來改變州的時間(是的,我知道有些州可以有多個時區,稍後我可能會改進它,可能是由縣。)如果聲明的值等於許多?
而不是說如果值等於這個或這或者這個或這個等等,我們可以存儲所有可能的值在一個變量?下面,我有一個太平洋國家數組,我怎麼知道狀態值是否等於其中之一?
jQuery的
function GetClientTime() {
// current time
var dt = new Date();
// pacific time
var pacifictime = dt.getHours() - 2 + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes();
// mountain time
var mountaintime = dt.getHours() - 1 + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes();
// central time
var centraltime = dt.getHours() + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes();
// eastern time
var easterntime = dt.getHours() + 1 + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes();
// get am/pm
var hours = new Date().getHours();
var ampm = (hours >= 12) ? "PM" : "AM";
var pacificstates = [
"WA", "OR", "CA", "NV"
]
if ($('#state').val() == pacificstates) {
$('#currenttime').show().val(pacifictime + " " + ampm);
} else if ($('#state').val() == 'CO') {
$('#currenttime').show().val(mountaintime + " " + ampm);
} else if ($('#state').val() == 'TX' || $('#state').val() == 'LA') {
$('#currenttime').show().val(centraltime + " " + ampm);
} else if ($('#state').val() == 'NY' || $('#state').val() == 'NJ') {
$('#currenttime').show().val(easterntime + " " + ampm);
} else {
$('#currenttime').hide();
}
}
http://jsfiddle.net/q98sLy5c/1/
RE:獎金,那一刻是很容易的日期格式流行的LIB http://momentjs.com/的 – briansol 2014-09-05 14:17:58
可能重複[替代百萬IF語句(HTTP:/ /stackoverflow.com/q/10029089/1048572) – Bergi 2014-09-05 14:24:21