javascript - 我试图制作一个以字母作为输入的代码,并给出一系列以该字母为星标的国家/地区(JS)
问题描述
所以..我试图让这个函数工作。我期待它给出一个具有多个名称的数组,但它总是说'阿富汗'(第一个匹配)。它应该给出许多不同国家/地区名称的数组,但它只给出一个。我还尝试将循环从“for of loop”更改为“for”,但它也不起作用
函数如下: [country] 是 204 个国家/地区名称的数组
var country = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Anguilla", "Antigua & Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia & Herzegovina", "Botswana", "Brazil", "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Cape Verde", "Cayman Islands", "Chad", "Chile", "China", "Colombia", "Congo", "Cook Islands", "Costa Rica", "Cote D Ivoire", "Croatia", "Cruise Ship", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Estonia", "Ethiopia", "Falkland Islands", "Faroe Islands", "Fiji", "Finland", "France", "French Polynesia", "French West Indies", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guam", "Guatemala", "Guernsey", "Guinea", "Guinea Bissau", "Guyana", "Haiti", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy", "Jamaica", "Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya", "Kuwait", "Kyrgyz Republic", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Mauritania", "Mauritius", "Mexico", "Moldova", "Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco", "Mozambique", "Namibia", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Norway", "Oman", "Pakistan", "Palestine", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russia", "Rwanda", "Saint Pierre & Miquelon", "Samoa", "San Marino", "Satellite", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "South Africa", "South Korea", "Spain", "Sri Lanka", "St Kitts & Nevis", "St Lucia", "St Vincent", "St. Lucia", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Timor L'Este", "Togo", "Tonga", "Trinidad & Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks & Caicos", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "Uruguay", "Uzbekistan", "Venezuela", "Vietnam", "Virgin Islands (US)", "Yemen", "Zambia", "Zimbabwe"];
function countrycheck(letter) {
let counrtieswithA = []
for (let e of country) {
let firstletter = e[0]
if (firstletter === letter) {
counrtieswithA.push(e)
}
return counrtieswithA
}
}
console.log(countrycheck('A'))
解决方案
return 语句将退出当前函数 - 您当前正在循环的第一次迭代后退出。
相反,您应该在循环完成后返回。
推荐阅读
- asp.net - 无法在 ASP.NET 中执行会话状态
- php - 仅显示具有特定 ID 的数据数据库
- firebase - 如何在 Firebase 存储上使用 hbs 模板和数据库 onCreate 触发器函数中的 nodemailer-express-handlebars?
- c# - ASP.NET Core 从 POST 操作重定向到 url 不起作用
- ios - Swift:将值从一个类传输到另一个类,或者从 ViewController 类到特定的 NSObject
- android - Android Work Manager:如何每月将作业排入队列
- firebase - Ionic / Firebase 应用程序在后台后建立连接缓慢
- php - 我可以在删除所述类别时将图像的 category_id 更改为 null 吗?
- css - 如何理解 MaterialUI 样式的组件?
- java - 使用带有 API 密钥而不是 OAuth 的 Google Sheets Java API?