js中的数据类型转换(找相应的值小案例)

js中数据类型转换是一个很频繁会用到的一部分,那么在实际案例中会出现各种的数据类型,想要满足某些条件,那还必须要不同类型的数据进行转换,今天就通过一个小例子,来找出相对应的数据类型。

先看一个一个数组,数组里的内容很复杂,包含了所有的数据类型,然后我们通过不同的条件找到相对应的内容:

var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90 ];

题目是:

1、找到arr里所有的数字:-98765, 34, -2, 0, 5

2、找到可以转成数字的:'100px', -98765, 34, -2, 0, '300', '23.45元', 5

3、把转成数字以后,最大值判断出来:300

4、把 NaN 所在的位置找出来:1 14 17 19

接下来通过js中的数据类型转换找出来所有的题目相对应的内容:

 1 for(var i= 0;i<arr.length;i++){
 2 
 3         //1 思路:必须是数字,还不包含NaN,空白
 4         if(isNaN(arr[i])===false && arr[i]!="NaN" && typeof(arr[i]) =="number" ){
 5             arrNum1.push(arr[i]);
 6             alert(arr[i])
 7         }
 8         //2 思路:要通过parseInt和parseFloat把所有的内容转换,然后通过isNaN判断出所有的数字类型
 9         if(isNaN(parseInt(arr[i]))==false && isNaN(parseFloat(arr[i]))==false){
10             if(arr[i]==true){
11                 arrNum2.push(0);
12             }else{
13                 arrNum2.push(arr[i]);
14             }
15             alert(arr[i])
16         }
17         //4 思路:NaN有一个特性它自己不等于它自己
18         if(arr[i] !=arr[i]){
19             alert(i);
20         }
21     }
22     //3 思路:在第二步的基础之上,那么就需要一个临时变量先给每个值进行比较,比临时变量小的忽略;
23     // 比它大的,就让临时变量等于它;
24     // 然后接着给下面的每一个再进行比较,依次比较大的替换,小的忽略,直到找到最大的那个即可
25     var temp=0;
26     for(var i=0;i<arrNum2.length;i++){
27         if(parseFloat(arrNum2[i])>parseFloat(temp)){
28             temp=arrNum2[i];
29         }
30     }
31     alert(temp);

今天的小例子可能实际项目中不会同样的经常用到,但是只要是比较大小的都必须同类型的才有可比性,不同类型的自然要进行数据类型转换,所以日后的项目中数据类型转换可能会经常用到,JS中的数据类型无非就这几种:数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义,万变不离其宗,只要记得基本的就行,当然这个小例子只是为了简单的巩固数据类型的转换,希望对大家有帮助!

好了,今天就这些,明天加油!

转载于:https://www.cnblogs.com/web001/p/7966191.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值