如何使用函数结果来调用变量名
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);
console将返回:
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中,键通常只能是字符串。
相关文章:
- AngularJS-在JSON选择器中使用变量名
- 命令行中的Uglify js;不要弄乱变量名
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 这在JavaScript中是一个好的变量名吗
- 如何在侦听器中调用变量
- 在javascript中,在变量名之前使用var有什么区别/优势吗
- 在Javascript中连接一个动态变量名
- 如何使用jQuery循环变量名
- JavaScript将字符串转换为变量名
- 根据发送到javascript中函数的参数创建变量名
- 检索本身包含变量的 Jquery 变量名的值
- 测试JavaScript是否符合异常变量名
- json调用变量名
- Javascript调用函数-动态变量名
- 使用实参调用Javascript函数,并将实参用作变量名
- 如何通过变量名调用函数
- 如何使用函数结果来调用变量名
- 基于变量名调用jQuery自动完成小部件函数
- clearInterval变量名不断被调用,但出现时没有定义
- 为什么我的方法没有被变量名调用