使用Javascript开关语句,如何计算数组中的元素数(仅数字)?

使用Javascript开关语句,如何计算数组中的元素数(仅数字)?,javascript,arrays,switch-statement,Javascript,Arrays,Switch Statement,我试图使用函数中的switch语句仅计算数组中的元素数。我真的不知道这个代码到底是什么样子。但这就是我目前所拥有的 <script language="JavaScript"> //an array of numbers var number = [1,"o",2,3,"a",0]; //a switch statement switch (number) { //Not sure what would go here.... break; } //displ

我试图使用函数中的switch语句仅计算数组中的元素数。我真的不知道这个代码到底是什么样子。但这就是我目前所拥有的

<script language="JavaScript">
//an array of numbers
var number = [1,"o",2,3,"a",0];
//a switch statement

switch (number) {
    //Not sure what would go here....

    break;
}
  //display result of count
alert(count)
</SCRIPT>
使用switch语句

如果你坚持:

var count = 0;
for( var i=0 ; i<number.length ; ++i )
    switch( typeof(number[i]) ) {
        case "number": ++count; break;
    }

编辑:好的!开关!让我们做吧

var count = 0;
for(var i = number.length; i--;){
    switch(true){
        case typeof number[i] == 'number':
            count++;
    }
}
alert(count);

我认为目前的答案不是很紧凑

以下是我的观点,使用:

下面是使用所需开关的拍摄


你到底为什么要在这里使用转换声明?这是一种练习吗?这是我在这里看到的最糟糕的问题之一,人们正在为解决方案而斗争,在这个问题上已经有-14票了。不要给那个家伙难堪,用它来教育他,而不是嘲笑他。我还没有读过所有关于答案的评论,但是@user3097967你到底为什么要用switch语句来这样做?我投了反对票,只是因为OP拒绝告诉他为什么需要切换。切换在哪里?没有降低Votenums。长度是他想要的,我想。这里不需要开关。OP似乎想要它,如问题中粗体所示。@m59 nums已经是一个数字了中断是多余的,但是如果你坚持…@JanDvorak Lol,你绝对正确..周围类型的操作符是多余的,但是如果你坚持…annd。。。开关在哪里?嗯。。。为什么不打开编号[i]的类型-这样更有趣:DBingo!谢谢你:@user3097967你为什么不喜欢马特的答案?
var count = 0;
for( var i=0 ; i<number.length ; ++i )
    switch( typeof number[i] ) {
        case "number":
            if( !isNaN(number[i]) && isFinite(number[i]) )
                ++count;
    }
var count = 0;
for(var i = number.length; i--;){
    switch(true){
        case typeof number[i] == 'number':
            count++;
    }
}
alert(count);
var number = [1,"o",2,3,"a",0];

var count = number.reduce(function(accum,cur){
    return accum+(typeof cur === "number");
});
var number = [1,"o",2,3,"a",0];

var count = number.reduce(function(accum,cur){
    return accum+(typeof cur === "number");
    switch(true){} // this switch's name is Alfred, after Batman's butler
});