[英]How do I use a function result to call a variable name?
我有一個<select>
其中可用的工作按城市划分,如下所示:
<select id="jobs">
<option value="columbus">Columbus, OH: Material Handler</option>
<option value="columbus">Columbus, OH: Fulfillment Center Worker</option>
<option value="baltimore">Baltimore, MD: Material Handler</option>
</select>
我這樣拉動價值:
var jobName = document.getElementById("jobs").value;
這將返回結果就好了。 對於第一個選項,我得到:
columbus
太好了,現在我的問題是,如何使用它來調用另一個變量,例如:
var columbus = ['Columbus','3500 Southwest Blvd',', 8 am to 3:30 pm'],
baltimore = ['Baltimore','913 Old Philadelphia Rd',', 8 am to 3 pm'],
currentCity = columbus[0]
console.log(currentCity);
控制台將返回:
Columbus
但是,如何使用jobName
動態更新currentCity,例如:
currentCity = jobName[0]
不應使用不同的變量,而應使用一個對象來保存所有城市信息,如下所示:
var cities = {
colombus: ['Columbus','3500 Southwest Blvd',', 8 am to 3:30 pm'],
baltimore: ['Baltimore','913 Old Philadelphia Rd',', 8 am to 3 pm']
};
那你可以寫
var currentCity = cities[jobName][0];
您似乎想基於鍵“查找”一個值。 通常,這是使用所謂的“字典”(或更正式地說是“ 關聯數組 ”,有時也稱為“ 哈希表 ”,盡管哈希表只是一種字典)來完成的。
JavaScript具有類似於您可以使用的對象的名稱 。 他們正在使用大括號書面{}
和密鑰從值用冒號隔開:
。 鍵是字符串,但是引號通常是可選的。 值可以是您想要的任何值。
var cities = {
columbus: ['Columbus','3500 Southwest Blvd',', 8 am to 3:30 pm'],
baltimore: ['Baltimore','913 Old Philadelphia Rd',', 8 am to 3 pm']
};
一旦有了密鑰(在示例中為jobName
),就可以簡單地使用cities
對象查找所需的內容。
var jobInfo = cities[jobName],
currentCity = jobInfo[0];
console.log(currentCity);
旁注:JavaScript對象並不是真正的完整字典。 在大多數其他語言中,字典實際上可以為鍵使用許多不同類型的值(例如,整數),但是在JavaScript中,鍵通常只能是字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.