如何使用javascript减去数组中的值

如何使用javascript减去数组中的值,javascript,php,jquery,html,arrays,Javascript,Php,Jquery,Html,Arrays,我有3个相同长度的数组。我想减去前两个数组中的值,而不单击任何按钮,如果答案是否定的,我将获得该数组编号的索引,并显示第三个数组中的隐藏输入字段(html),其数组索引对应于负数的数组索引 例如: //assuming this is the first array array('10','2','3','4','5'); //and assuming this is the second array array('9','1','4','3','7'); array('1','1','-1'

我有3个相同长度的数组。我想减去前两个数组中的值,而不单击任何按钮,如果答案是否定的,我将获得该数组编号的索引,并显示第三个数组中的隐藏输入字段(html),其数组索引对应于负数的数组索引

例如:

//assuming this is the first array
array('10','2','3','4','5');
//and assuming this is the second array
array('9','1','4','3','7');
array('1','1','-1','1','-2');
我想从第一个数组中减去第二个数组的值,这样我就有了结果,例如:

//assuming this is the first array
array('10','2','3','4','5');
//and assuming this is the second array
array('9','1','4','3','7');
array('1','1','-1','1','-2');
以上结果决定了要显示哪些输入字段(来自第三个数组)。例如,要显示的输入字段是数组索引为2和4的字段

以下是我的第三个输入字段数组代码:

<?php while($roww = mysql_fetch_array($result)) { ?>
     <input type='text' name="reason[]" class="explanation">
<?php } ?>

我有什么办法可以使上述各项成为可能吗

到目前为止,这是我尝试过的,虽然我还没有应用数组..只是对我在互联网上找到的一个示例进行了一点更新

<html>
      <head>
            <script src="jquery.min.js"></script>
            <script>
                    $(document).ready(function(){
                     $(".explanation").hide();
                      var input1_ = document.getElementById('num1');
                      var input_ = document.getElementById('num2');
                      function sub(){
                            var answer = (parseInt(input1_.value) - parseInt(input2_.value));
                            if(answer < 0){
                                  $(".explanation").show();
                            }else $(".explanation").hide();
                       }
                       document.getElementById('num1').onkeyup = function () {
                            sub();
                    };
                      document.getElementById('num2').onkeyup = function () {
                            sub();
                   };
            });
</script>

</head>
<body>
     <input type='number'  id='num1' value="0">
     <input type='number'   id='num2' value="0">
     <input type='text' class='explanation' value="0">
</body>
</html>

$(文档).ready(函数(){
$(“.explain”).hide();
var input1=document.getElementById('num1');
var输入=document.getElementById('num2');
函数子(){
var-answer=(parseInt(input1_uu.value)-parseInt(input2_u.value));
如果(答案<0){
$(“.explain”).show();
}else$(“.EXPLATION”).hide();
}
document.getElementById('num1')。onkeyup=function(){
sub();
};
document.getElementById('num2')。onkeyup=function(){
sub();
};
});
您可以使用循环:

var result = [];
for (let i=0; i<arr1.length; i++) {
    result[i] = arr1[i]-arr2[i];
}
var结果=[];
对于(设i=0;i可以使用循环:

var result = [];
for (let i=0; i<arr1.length; i++) {
    result[i] = arr1[i]-arr2[i];
}
var结果=[];
对于(设i=0;i),您可以使用:

创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数

片段:

var firstArr=['10','2','3','4','5'];
var secondArr=['9'、'1'、'4'、'3'、'7'];
//
//对于第一个数组中的每个元素
//
var结果=firstArr.map(函数(val,索引){
//将当前数组值转换为数字
//减去第二个数组中包含的值
//并返回值
return+val-+secondArr[索引];
});
console.log(结果);
您可以使用:

创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数

片段:

var firstArr=['10','2','3','4','5'];
var secondArr=['9'、'1'、'4'、'3'、'7'];
//
//对于第一个数组中的每个元素
//
var结果=firstArr.map(函数(val,索引){
//将当前数组值转换为数字
//减去第二个数组中包含的值
//并返回值
return+val-+secondArr[索引];
});

console.log(result);
只要数组的长度相同,就可以使用

function subtrArrays(arr1[], arr2[])
{
    var final = [];
    for(var i = 0; i < arr1.length(); i++)
    {
        final[i] = arr1[i] - arr2[i];
    }
    return final;
}

只要数组的长度相同,就应该可以使用

function subtrArrays(arr1[], arr2[])
{
    var final = [];
    for(var i = 0; i < arr1.length(); i++)
    {
        final[i] = arr1[i] - arr2[i];
    }
    return final;
}

这是一个类似于“代码>数组”的例子。

对我们来说毫无用处。最好在不返回任何内容的迭代函数中完成作业

var a=['10','2','3','4','5'],
b=['9'、'1'、'4'、'3'、'7'],
divs=[div1,div2,div3,div4,div5];
a、 forEach((e,i)=>e-b[i]<0&&(divs[i].className=divs[i].className.replace(/\s*hidden\s*/,“”));
.hidden{display:none}
div1文本
第2部分文本
第3部分文本
第4部分文本

DIV5文本< /代码> 这是一个类似于数组的例子。原型.MaP()/代码>是最合适的,但实际上不是。如果你把整个工作考虑为代码>数组。
对我们来说毫无用处。最好在不返回任何内容的迭代函数中完成作业

var a=['10','2','3','4','5'],
b=['9'、'1'、'4'、'3'、'7'],
divs=[div1,div2,div3,div4,div5];
a、 forEach((e,i)=>e-b[i]<0&&(divs[i].className=divs[i].className.replace(/\s*hidden\s*/,“”));
.hidden{display:none}
div1文本
第2部分文本
第3部分文本
第4部分文本

div5 text
是的,这是可能的。你尝试了什么?我更新了问题,以展示我到目前为止所做的。是的,这是可能的。你尝试了什么?我更新了问题,以展示我到目前为止所做的。。