[英]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.