我正在尝试使用 HTML 表单字段的值来定义我在 JavaScript 函数中使用的变量。我有一个解决方案,但我认为还有更优雅的方法。
我有两个名字数组,男性和女性,我的 HTML 表单有一组两个单选按钮,分别代表男性和女性。在提交时,我这样做:
gender = $("#gender input:checked").val(); //get value of checked button
if (gender == "male" ) {
name = male[Math.floor(Math.random()*male.length)];
} else {
name = female[Math.floor(Math.random()*female.length)];
}
$("#result").html(name);
我的解决方案是 if-else,但我想知道是否可以将性别值转换为对同名变量的引用。然后我可以用这样的东西替换 if-else:
name = gender[Math.floor(Math.random()*gender.length)];
我很想听听您的想法。谢谢!
最佳答案
您可以将性别放入一个对象中:
var genderData = {
male: [ ... ]
female: [ ... ]
}
然后使用以下语法:
genderData[gender][Math.floor(Math.random() * genderData[gender].length)]
您还可以稍微简化它以使其更具可读性:
var gd = genderData[gender];
name = gd[Math.floor(Math.random() * gd.length)];
关于javascript - 使用表单字段值作为对 JavaScript 变量的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438220/