zoukankan      html  css  js  c++  java
  • 把数组里的假值转为0

        // 假值转换为0
            let toZero = (arr)=>{
               return arr.map(v=>v||0)
            }
            let c = [1,2,3,0,false,null,undefined,NaN,'']
            console.log(toZero(c)); // [1, 2, 3, 0, 0, 0, 0, 0, 0]

    上面这个方法可以把假值,转换为0,但是不能把'0.00','0','0.0000'之类的值转换成为0,因为'0.00','0','0.000'这类的值是真值

    所以,如果要把类似'0.00'这样的值转换为0那就要下面的方法

        // 假值转为 0 ,包括'0','0.00','0.0000'和 空字符串,字符串数字转为数字
            let toZero2 = (arr)=>{
                let newArr = []
                   arr.forEach(v=>{
                    typeof v!=='string'?  ( v = v || 0) :(v =   Number(v) || 0)
                    newArr.push(v)
                })
                return newArr
            }
            let d = [1,2,0,'0','0.00','0.0000',undefined,null,false,NaN,3,'','0.03','0.9','100','0.4236']
            console.log(toZero2(d));// [1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0.03, 0.9, 100, 0.4236]

     还可以这样:

     let q = [1,2,0,'0','0.00','0.0000',undefined,null,false,NaN,3,'','0.03','0.9','100','0.4236']
            let toZero3 = (arr)=>{
                let newArr = []
                arr.forEach(v=>{
                    typeof v!== 'number'?typeof v === 'string'?(v=+v):(v=0) : !(!!v) && (v=0)
                    newArr.push(v)
                })
                return newArr
            }
            console.log(toZero3(q));
  • 相关阅读:
    同一台Windows机器中启动多个Memcached服务
    Java注解(三)
    Java注解(二)
    Java注解(一)
    Memcached入门
    C++读取配置文件
    C语言读取配置文件
    凸优化中的基本概念
    Hadoop伪分布式的搭建
    老师布置的几道作业
  • 原文地址:https://www.cnblogs.com/luguankun/p/13709588.html
Copyright © 2011-2022 走看看