Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确定元素是否为数字,甚至使用条件_Javascript_Loops_Conditional - Fatal编程技术网

Javascript 如何确定元素是否为数字,甚至使用条件

Javascript 如何确定元素是否为数字,甚至使用条件,javascript,loops,conditional,Javascript,Loops,Conditional,我试图解决3个问题,但不确定我做错了什么 1.我应该循环查看var arr中的元素是否是数字 2.那么我应该找出这些数字是否是偶数 3.然后通过增加count的值来跟踪偶数 这是我的密码: var arr = ["100", 33, "Hello"] function isEven(arr) { var count = 0 arr.forEach(function(element){ if(typeof element === "number") {

我试图解决3个问题,但不确定我做错了什么

1.我应该循环查看var arr中的元素是否是数字 2.那么我应该找出这些数字是否是偶数 3.然后通过增加count的值来跟踪偶数 这是我的密码:

    var arr = ["100", 33, "Hello"]

    function isEven(arr) {
    var count = 0
    arr.forEach(function(element){
    if(typeof element === "number") {
    if(typeof element % 2 =0) {
    }
    }
    })
    return count
    }
    isEven(arr)

您可以使用
typeof
运算符检查变量的类型是否为number。若要检查数字是否为偶数,请在将其除以2后检查其余数是否为0

function isEven(arr){
    var count = 0;
    arr.forEach(function(element){
    if(typeof element === "number" && element % 2 == 0){
        count++;
       }
    }
}

代码转储不是有用的答案。上面的主要问题是,您使用的是=0,而不是==0==0进行比较;请参阅链接问题的答案。您还在第二个
if
中使用
typeof
,但您已经检查了类型。现在,您只需要进行计算。最后,您不会在任何地方增加计数。因此,从带有
%
的行中删除
typeof
,并添加
++count
if
语句的主体中(并修复
=
/
=
==
对象)。:-)还请注意,如果
与和&组合,则可以在单个
中组合条件。