首页 > 解决方案 > javascript如何使用while语句和数组由用户显示多个选项

问题描述

我需要做一个while循环,每次我这样做时似乎都会冻结我的浏览器,所以它一定不能正确关闭。我正在制作一份简历,我希望用户选择一个数字 1-5,然后它会从我创建的数组中显示我以前的许多工作职责。我需要创建一个变量并将其设置为等于输入值减 1。创建一个 while 循环,该循环在变量(表示我需要打印的索引值)大于或等于最小数组值时运行。将我页面中某些元素的 innerHTML 替换为与打印的索引号对应的数组值。这就是我在javascript函数中所拥有的。

function duties() {
    var subskill = ["Make Beautiful Sandwiches","Customer Service Skills", "Count Register", "Upsell", "Manage"];

    var numduty = parseFloat(document.getElementById('numduties').value);
    var numdutfinal = numduty - 1;
    var list = "";

    while (numdutfinal <= numduty ){
        list= list+numdutfinal;
        numdutfinal--;
    }
    document.getElementById('duty1').innerHTML = subskill[list]; 
}

标签: javascriptarrayswhile-loop

解决方案


由于您的 decrementingnumdutfinal和您的 while 循环设置为在大于 时退出,因此每次运行numduty它只会越来越远numduty

例如,如果numduty从 5 开始,并且numdutfinal是 4,那么在第一次运行循环后,numdutfinal变为 3,依此类推,永远不会大于 5。

编辑:尝试根据在这种情况下最有意义的内容递减numduty或递增- 而不是递减numdutfinalnumdutfinal


推荐阅读