美文网首页
JavaScript-总结篇之常用日期,数组API

JavaScript-总结篇之常用日期,数组API

作者: greenteaObject | 来源:发表于2017-07-06 01:53 被阅读0次
    • 获取2017-11-20格式的日期
    • 获取随机数,要求是长度一致的字符串格式
    • 写一个能遍历对象和数组的通用forEach函数

    常用API

    日期API

    Date.now()  //获取当前时间毫秒数(从1970年开始到现在的毫秒数)
    var dt = new Date()
    dt.getTime()    //获取毫秒数
    dt.getFullYear()    //年
    dt.getMonth()       //月(0-11)
    dt.getDate()        //日(0-31)
    dt.getHours()       //小时(0-23)
    dt.getMinutes()     //分钟(0-59)
    dt.getSeconds()     //秒(0-59)
    

    MathAPI

    Math.random()    //获取随机数
    

    数组API

    forEach     //遍历所有元素
    every       //判断所有元素是否都符合条件
    some        //判断是否有至少一个元素符合条件
    sort        //排序
    map         //对元素重新组装,生成新数组
    filter      //过滤符合条件的元素
    
    //foreach
    var arr = [1,2,3]
    arr.forEach(function(item,index){
        //遍历数组的所有元素
        console.log(index,item)
    })
    
    //every
    var arr = [1,2,3]
    var result = arr.every(function(item,index){
        //判断所有的数组元素,都满足一个条件
        if(item < 4){
            return true
        }
    })
    console.log(result)
    
    //some
    var arr = [1,2,3]
    var result = arr.some(function(item,index){
        //判断所有的数组元素,只要有一个满足即可
        if(item < 2){
            return true
        }
    })
    console.log(result)
    
    //sort
    var arr = [1,4,2,3,5]
    var arr2 = arr.sort(function(a,b){
        //从小到大排序
        return a - b
    
        //从大到小排序
        return b - a
    })
    console.log(arr2)
    
    //map
    var arr = [1,2,3,4]
    var arr2 = arr.map(function(item,index){
        //将元素重新组装,并返回
        return '<b>' + item + '</b>'
    })
    console.log(arr2)
    
    //filter
    var arr = [1,2,3,4]
    var arr2 = arr.filter(function(item,index){
        //通过某一个条件过滤数组
        if(item >= 2){
            return true
        }
    })
    console.log(arr2)
    

    对象API

    var obj = {
        x:100,
        y:200,
        z:300
    }
    
    var key
    for(key in obj){
        //注意这里的 hasOwnProperty,是否是key本身的而不是原型的
        if(obj.hasOwnProperty(key)){
            console.log(key,obj[key])
        }
    }
    

    三个Demo
    获取2017-06-10格式的日期

    function formatDate(d){
        if(!d){
            var d = new Date()
        }
    
        var year = d.getFullYear()
        var month = d.getMonth() + 1
        var date = d.getDate()
    
        if(month < 10){
            month = '0' + month
        }
        if(date < 10){
            date = '0' + date
        }
    
        return year + '-' + month + '-' + date
    }
    var d = new Date()
    console.log(formatDate(d))
    

    获取随机数,要求长度一致的字符串格式

    var random = Math.random()
    random = random + '0000000000'  //加10个0
    random = random.slice(0,10)
    console.log(random)
    

    写一个能遍历对象和数组的forEach函数

    function forEach(obj,fn){
        var key
        //判断数组还是函数
        if(obj instanceof Array){
            obj.forEach(function(item,index){
                fn(index,item)
            })
        }else{
            for(key in obj){
                fn(key,obj[key])
            }
        }
    }
    
    var arr = [1,2,3]
    //参数顺序换了,为了和对象保持一致
    forEach(arr,function(index,item){
        console.log(index,item)
    })
    
    var obj = {x:100,y:200}
    forEach(obj,function(index,item){
        console.log(index,item)
    })
    

    相关文章

      网友评论

          本文标题:JavaScript-总结篇之常用日期,数组API

          本文链接:https://www.haomeiwen.com/subject/orwqhxtx.html