JavaScript函数isNaN,typeof区分元素是字符还是数值类型的两种方法

背景了解:页面获取后台传回来的一个list(返回值[MONGODB, 1, MYSQL, 4, ORACLE, 2, PostgreSQL, 1, SQLSERVER, 5]),为了把字符和数字分开放到两个数组,作为参数传给echart图表用于渲染,于是应用到了以下的方式去区分元素。

方法一:isNaN

定义:isNaN(x) 函数用于检查其参数是否是非数字值

返回值:如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。

说明:isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)。

如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。正因为如此,isNaN() 函数是必需的。

提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。

方法二:typeof指定类型去判断

案例

                    var test = [1,"aa",2,"bb",3,"cc",4,"dd",5,"ee"];
		            var isStr = [];
		            var isNum = [];
		            var typeOfStr = [];
		            var typeOfNum = [];
		            for (var i = 0; i < test.length; i++) {
                    //方法一:isNaN可以判断是否是非数值,根据这点区分是数字还是字符串
	            	if(isNaN(test[i])){
		            		isStr.push(test[i]);
		            	}else{
		            		isNum.push(test[i]);
		            	}
		            //方法二:typeof指定类型,区分数字还是字符串
		            	if(typeof(test[i])=="string"){
		            		typeOfStr.push(test[i]);
				        }
		            	else if(typeof(test[i]=="number")){
				        	typeOfNum.push(test[i]);
				        }else{
                            console.log("是其他的类型");
                        }
				    }
		            console.log("isNaN获取到的字符串:"+isStr);
		            console.log("isNaN获取到的数字:"+isNum);
		            console.log("typeof获取到的字符串:"+typeOfStr);
		            console.log("typeof获取到的数字:"+typeOfNum);
    
                    //打印的结果
                    isNaN获取到的字符串:aa,bb,cc,dd,ee
                    isNaN获取到的数字:1,2,3,4,5
                    typeof获取到的字符串:aa,bb,cc,dd,ee
                    typeof获取到的数字:1,2,3,4,5

这是一篇持续更新的文章......

发布了33 篇原创文章 · 获赞 33 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/DengShangYu_/article/details/89472036
今日推荐