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

  • 获取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)
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 目录 楔子 “N年前,江湖上曾经出现过这样一个人,他本来有个大好的前途,却突然误入歧途,变成了杀人不眨眼,令人闻风...
    MJ老段阅读 862评论 66 43
  • 昨晚父亲连夜骑着摩托车,从大姑家回来,今年的天气冷的比较快,五点半已经黑了。父亲到家已经七点十分多,穿着棉服。很是...
    柠檬安然阅读 108评论 0 0
  • 我无法不悲伤。 脚步沉重 感觉身体被抽空 胃部隐隐做闷,可能都是假象,我还有点想流泪。 我确实无法不悲伤。 点一烛...
    小花是棵草阅读 171评论 0 0