包含美国各州及其缩写和州税额的/*大数组*/
var usStates = [
{ name: 'ALABAMA', abbreviation: 'AL', taxAmount: 5},
{ name: 'ALASKA', abbreviation: 'AK', taxAmount: 0},
{ name: 'ARIZONA', abbreviation: 'AZ', taxAmount: 4.54},
{ name: 'ARKANSAS', abbreviation: 'AR', taxAmount: 7.0},
{ name: 'CALIFORNIA', abbreviation: 'CA', taxAmount: 13.3},
{ name: 'COLORADO', abbreviation: 'CO', taxAmount: 4.63},
{ name: 'CONNECTICUT', abbreviation: 'CT', taxAmount: 6.7},
{ name: 'DELAWARE', abbreviation: 'DE', taxAmount: 6.75},
{ name: 'DISTRICT OF COLUMBIA', abbreviation: 'DC', taxAmount: 8.95},
{ name: 'FLORIDA', abbreviation: 'FL', taxAmount: 0 },
{ name: 'GEORGIA', abbreviation: 'GA', taxAmount: 6.0},
{ name: 'HAWAII', abbreviation: 'HI', taxAmount: 11.0},
{ name: 'IDAHO', abbreviation: 'ID', taxAmount: 7.4},
{ name: 'ILLINOIS', abbreviation: 'IL', taxAmount: 5.0},
{ name: 'INDIANA', abbreviation: 'IN', taxAmount: 3.4},
{ name: 'IOWA', abbreviation: 'IA', taxAmount: 8.98},
{ name: 'KANSAS', abbreviation: 'KS', taxAmount: 4.9},
{ name: 'KENTUCKY', abbreviation: 'KY', taxAmount: 6},
{ name: 'LOUISIANA', abbreviation: 'LA', taxAmount: 6},
{ name: 'MAINE', abbreviation: 'ME', taxAmount: 5.25},
{ name: 'MARYLAND', abbreviation: 'MD', taxAmount: 5.75},
{ name: 'MASSACHUSETTS', abbreviation: 'MA', taxAmount: 5.25},
{ name: 'MICHIGAN', abbreviation: 'MI', taxAmount: 4.25},
{ name: 'MINNESOTA', abbreviation: 'MN', taxAmount: 9.85},
{ name: 'MISSISSIPPI', abbreviation: 'MS', taxAmount: 4.25},
{ name: 'MISSOURI', abbreviation: 'MO', taxAmount: 6},
{ name: 'MONTANA', abbreviation: 'MT', taxAmount: 6.9},
{ name: 'NEBRASKA', abbreviation: 'NE', taxAmount: 6.84},
{ name: 'NEVADA', abbreviation: 'NV', taxAmount: 0},
{ name: 'NEW HAMPSHIRE', abbreviation: 'NH', taxAmount: 5},
{ name: 'NEW JERSEY', abbreviation: 'NJ', taxAmount: 8.97},
{ name: 'NEW MEXICO', abbreviation: 'NM', taxAmount: 4.9},
{ name: 'NEW YORK', abbreviation: 'NY', taxAmount: 8.82},
{ name: 'NORTH CAROLINA', abbreviation: 'NC', taxAmount: 7.75},
{ name: 'NORTH DAKOTA', abbreviation: 'ND', taxAmount: 3.99},
{ name: 'OHIO', abbreviation: 'OH', taxAmount: 5.925},
{ name: 'OKLAHOMA', abbreviation: 'OK', taxAmount: 5.25},
{ name: 'OREGON', abbreviation: 'OR', taxAmount: 9.9},
{ name: 'PENNSYLVANIA', abbreviation: 'PA', taxAmount: 3.07},
{ name: 'RHODE ISLAND', abbreviation: 'RI', taxAmount: 5.99},
{ name: 'SOUTH CAROLINA', abbreviation: 'SC', taxAmount: 7},
{ name: 'SOUTH DAKOTA', abbreviation: 'SD', taxAmount: 0},
{ name: 'TENNESSEE', abbreviation: 'TN', taxAmount: 6},
{ name: 'TEXAS', abbreviation: 'TX', taxAmount: 0},
{ name: 'UTAH', abbreviation: 'UT', taxAmount: 5},
{ name: 'VERMONT', abbreviation: 'VT', taxAmount: 8.95},
{ name: 'VIRGINIA', abbreviation: 'VA', taxAmount: 5.75},
{ name: 'WASHINGTON', abbreviation: 'WA', taxAmount: 0},
{ name: 'WEST VIRGINIA', abbreviation: 'WV', taxAmount: 6.5},
{ name: 'WISCONSIN', abbreviation: 'WI', taxAmount: 7.65},
{ name: 'WYOMING', abbreviation: 'WY', taxAmount: 0}
];/*在页面启动时启动,并询问用户是否要继续*/
var didUserConfirm = confirm("Welcome to Tip Calc" + "\n" + "Would you like to calculate this week's wages?");
var userState = [];
if (didUserConfirm === true) {userState.push(prompt("In which state are you employed?"));
}/*搜索该州的州缩写和所得税金额并将信息推送到userState数组中的函数*/
var searchStates = function(state){
for (var key in usStates) {
if(usStates[key].name === state.toUpperCase()){
alert(state + " is a valid US State" + "\n" + "The state tax is " + usStates[key].taxAmount);
userState.push(usStates[key].name, usStates[key].taxAmount, usStates[key].abbreviation);
}/*这是它默认使用的else语句,即使满足了前面的if语句也是如此。*/
else {
alert(state + "is not a valid US State. Please try again.")
};
}
};
searchStates(userState[0]);
console.log(userStateInfo[1]);发布于 2015-11-10 07:28:26
看起来您正在尝试识别第一个匹配状态,并且仅在未找到任何状态时执行"else“条件:
var searchStates = function(state){
for (var key in usStates) {
if(usStates[key].name === state.toUpperCase()){
alert(state + " is a valid US State" + "\n" + "The state tax is " + usStates[key].taxAmount);
userState.push(usStates[key].name, usStates[key].taxAmount, usStates[key].abbreviation);
return; // stop once we've found a state
}
}
// if we haven't stopped, that means we didn't find one
alert(state + "is not a valid US State. Please try again.")
};https://stackoverflow.com/questions/33619640
复制相似问题