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

use*_*967 -9 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;
}
  //display result of count
alert(count)
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 5

使用switch语句

如果你坚持:

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

count有价值4.

注意:NaN,Number.NEGATIVE_INFINITY和Number.POSITIVE_INFINITY,也是"number"s,所以如果你不想算这些,那就去做吧

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;
    }
Run Code Online (Sandbox Code Playgroud)

  • 'break`是多余的,但如果你坚持...... (2认同)
  • 类型操作符周围的`()`是多余的,但如果你坚持...... (2认同)