Javascript 使用数组计算2个输入值之间的值数

Javascript 使用数组计算2个输入值之间的值数,javascript,arrays,Javascript,Arrays,有人能给我解释一下为什么这不起作用吗?代码应该取用户输入的两个值,并计算数组列表中输入值之间的值数。例如,假设用户输入5作为第一个值,输入7作为第二个值,因为数组中的3个值介于5和7之间,因此会弹出一个警报,提示“值的总数=3”。但是在我运行代码的时候,它总是说值的总数是0?为什么会这样 这是我的HTML: <!DOCTYPE html> <body> <input type="text" id="num1"></input> <input

有人能给我解释一下为什么这不起作用吗?代码应该取用户输入的两个值,并计算数组列表中输入值之间的值数。例如,假设用户输入5作为第一个值,输入7作为第二个值,因为数组中的3个值介于5和7之间,因此会弹出一个警报,提示“值的总数=3”。但是在我运行代码的时候,它总是说值的总数是0?为什么会这样

这是我的HTML:

<!DOCTYPE html>
<body>
<input type="text" id="num1"></input>
<input type="text" id="num2"></input>
<button onclick="start()"  type = "button">search</button>

<script src="array.js"></script>
</body>

搜索
这是我的JavaScript:

var total = 0;
var num1 = "";
var num2 = "";
var array = [1,4,6,7,8,6];
for(var a = 0; a < array.length; a++) {
    if(array[a] >= num1 && array[a] <= num2) {
         total++;
    }
}
alert("Total numbers of values = " + total);
var总计=0;
var num1=“”;
var num2=“”;
var数组=[1,4,6,7,8,6];
对于(var a=0;a=num1&&array[a]
  • 将逻辑放入函数中,以便仅在单击按钮时执行
  • 使用
    getElementById
    捕获输入,并将用户给定的值存储在
    num1
    num2
    变量中
函数开始(){
var合计=0;
var num1=document.getElementById('num1')。值;
var num2=document.getElementById('num2')。值;
var数组=[1,4,6,7,8,6];
对于(var a=0;a如果(数组[a]>=num1和数组[a]将
num1
num2
设置为
输入值

var num1 = document.getElementById('num1').value;
var num2 = document.getElementById('num2').value;

你的代码没问题,你可以在这里更改

var num1 = "";
var num2 = "";
您的代码如下

var num1 = document.getElementById('num1').value;
var num2 = document.getElementById('num2').value;

因为num1和num2是0。您无法从输入字段中获取值。