微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

js数据类型转换的简单示例

js中数据类型转换是一个很频繁会用到的一部分,那么在实际案例中会出现各种的数据类型,想要满足某些条件,那还必须要不同类型的数据进行转换,今天就通过一个小例子,来找出相对应的数据类型。
先看一个一个数组,数组里的内容很复杂,包含了所有的数据类型,然后我们通过不同的条件找到相对应的内容
var arr = [ '100px','abc'-6,[],-98765,34,-2,'300',function(){alert(1);},null,document,true,'200px'-30,'23.45元',5,Number('abc'),function(){ alert(3); },'xyz'-90 ];
题目是:
1、找到arr里所有的数字:-98765,5
2、找到可以转成数字的:'100px',5
3、把转成数字以后,最大值判断出来:300
4、把 NaN 所在的位置找出来:1 14 17 19

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

/**
 * js数据类型转换
 *
 * @param 
 * @arrange (编程之家) jb51.cc
 **/
for(var i= 0;i<arr.length;i++){
    //1 思路:必须是数字,还不包含NaN,空白
    if(isNaN(arr[i])===false && arr[i]!=NaN && typeof(arr[i]) ==number ){
        arrNum1.push(arr[i]);
        alert(arr[i])
    }
    //2 思路:要通过parseInt和parseFloat把所有的内容转换,然后通过isNaN判断出所有的数字类型
    if(isNaN(parseInt(arr[i]))==false && isNaN(parseFloat(arr[i]))==false){
        if(arr[i]==true){
            arrNum2.push(0);
        }else{
            arrNum2.push(arr[i]);
        }
        alert(arr[i])
    }
    //4 思路:NaN有一个特性它自己不等于它自己
    if(arr[i] !=arr[i]){
        alert(i);
    }
}
//3 思路:在第二步的基础之上,那么就需要一个临时变量先给每个值进行比较,比临时变量小的忽略;
// 比它大的,就让临时变量等于它;
// 然后接着给下面的每一个再进行比较,依次比较大的替换,小的忽略,直到找到最大的那个即可
var temp=0;
for(var i=0;i<arrNum2.length;i++){
    if(parseFloat(arrNum2[i])>parseFloat(temp)){
        temp=arrNum2[i];
    }
}
alert(temp);

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高