使用传递给函数的参数动态地从一组数组中检索值
Retrieve a value dynamically from a group of arrays using a parameter passed to a function
我正在开发一个教育工具。我想根据传递给函数的参数从一组数组中检索一个值。具体来说,这段代码的目标是根据用户的选择更改一组单选按钮上的标签文本。
下面是我的代码:
//arrays
var bodyplan = ['Anguilliform', 'Compressiform', 'Depressiform', 'Filiform', 'Fusiform', 'Globiform', 'Sagittiform', 'Taeniform']
var caudalshape = ['Continuous', 'Emarginate', 'Forked', 'Lunate', 'Rounded', 'Truncate']
var mouthposition = ["Inferior", "Jawless", "Subterminal", "Superior", "Terminal"]
//function
function changelabels(opt1, opt2){
var i = opt2
var c = 1
var index = 0
while (i>=c){
document.getElementById("rb" + c + "lbl").innerHTML = (opt1[index])
c = c + 1
index = index + 1}}
函数的调用是在一个相当长的switch语句中进行的。例如,下面是其中一个调用:
case 4:
changelabels("caudalshape", 6)
我上面创建的代码确实改变了标签,但不是以期望的方式。在上面的例子中,我的单选按钮不是被标记为"连续"、"边缘化"、"分叉"等等,而是被标记为"c"、"a"、"u"、"d"等等。换句话说,我写的函数不是从数组中提取值。它只是根据索引从传递给函数的参数词中选择字母。
任何帮助都会很感激。我是Javascript的新手。我一直试图解决这个问题几个小时在玩代码和搜索这些论坛。
这是因为您操作的是字符串 "caudalshape"
,而不是变量"caudalshape"
所指向的数组。
可以通过传递数组而不是字符串来解决这个问题;
changelabels(caudalshape, 6)
与你的问题无关;您应该真的开始在代码中添加自己的分号。是的,它在JavaScript中是可选的,但在许多其他语言中不是,而且当学习另一种语言时,调整它是一种痛苦(个人经验)。有关更多信息,请参见您是否建议在JavaScript中的每个语句后使用分号?
除非我在您的实现中遗漏了什么,否则您希望传入尾形变量而不是字符串:
case 4:
changelabels(caudalshape, 6)
1有一些多余的代码,我正在删除供您参考。还有你缺失的分号。
//arrays
var bodyplan = ['Anguilliform', 'Compressiform', 'Depressiform', 'Filiform', 'Fusiform', 'Globiform', 'Sagittiform', 'Taeniform'];
var caudalshape = ['Continuous', 'Emarginate', 'Forked', 'Lunate', 'Rounded', 'Truncate'];
var mouthposition = ["Inferior", "Jawless", "Subterminal", "Superior", "Terminal"];
//function
function changelabels(opt1, opt2){
var index = 0;
while (index < opt2){
document.getElementById("rb" + (index+1) + "lbl").innerHTML = opt1[index];
index = index + 1;
}
}
这里是更正::你传递的参数是字符串,你应该传递数组变量
case 4:
changelabels(caudalshape, 6);
相关文章:
- 创建一个数组数组,没有任何重复的Javascript
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- jQuery对象从html表中查询为两个一维数组,用于Chartist图表
- 如何在Java Script中比较二维数组和一维数组,并将常见数据存储在另一个数组中
- 如何在javascript中使用2个一维数组创建层次结构树
- PHP json_encode不适用于一维数组
- 如何在一维数组中存储 3 个随机数,然后在 Javascript 中收到警报
- 在JavaScript中,从一组数组递归地构建一个字典/嵌套对象
- 有没有一种优雅的方式来连接数组数组
- 将字符串的一维数组转换为二维数组
- Javascript使用map从一维数组创建一个二维数组
- PHP 循环通过多维到一维数组
- 使用 for 循环创建一个数组数组
- 使用JavaScript将对象的多维数组转换为一维数组
- 用一维数组过滤多维数组
- 使用传递给函数的参数动态地从一组数组中检索值
- mongoose.js:我如何从引用的子数组中删除一个属性,同时使用填充和使用其中一个子数组字段作为过滤器
- 查询string是否在一组数组中
- 如何使文本轮播与一组数组
- 在一组数组中查找最小和最大时间