javascript考点 —— 日期和Math、数组和对象API

一、日期

Date()是日期的构造函数,然后看如下例子:

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)

二、Math

获取随机数:Math.random()。作用是:清除缓存。

三、数组API

  • forEach遍历所有元素
var arr = [1,2,3]
arr.forEach(function(item, index) {
    console.log(index, item)
})

//输出结果
//0  1
//1  2
//2  3
  • every判断所有元素是否都符合条件
var arr = [1,2,3]
var result = arr.every(function(item, index) {
    if(item < 4){
        return true
    }
})
console.log(result)    //true
  • some判断是否至少有一个元素符合条件
var arr = [1,2,3]
var result = arr.some(function(item, index) {
    if(item < 2){
        return true
    }
})
console.log(result)    //true
  • sort排序
var arr = [1,4,2,5,3]
var arr2 = arr.sort(function(a, b) {
    return a-b
})
console.log(arr2) //1,2,3,4,5
  • map对元素重新组装,生成新数组
var arr = [1,2,3,4]
var arr2 = arr.map(function(item, index) {
    return '<b>' + item + '</b>'
})
console.log(arr2) //[ '<b>1</b>', '<b>2</b>', '<b>3</b>', '<b>4</b>' ]
  • filter过滤符合条件的元素
var arr = [1,2,3]
var arr2 = arr.filter(function(item, index) {
    if(item >= 2){
        return true
    }
})
console.log(arr2) //[ 2, 3 ]

四、对象API

  • for (key in obj)
var obj = {
    x:100,
    y:200,
    z:300
}
var key;  //key取obj的属性名
for(key in obj) {
    if(obj.hasOwnProperty(key)) {   //判断key是obj的原生属性,而不是从原型中拿过来的
        console.log(key, obj[key])
    }
}

五、题目解答

  • 获取2017-06-10格式的日期
function formatDate(dt) {
    if(!dt) {
        dt = new Date()
    }
    var year = dt.getFullYear()
    var month = dt.getMonth() + 1
    var day = dt.getDate()
    if(month < 10){
        month = '0' + month
    }
    if(day < 10) {
        day = '0' + day
    }
    return year + '-' + month + '-' + day
}
var dt = new Date()
var formatDate = formatDate(dt)
console.log(formatDate)
  • 获取随机数,要求是长度一致的字符串格式
var random = Math.random()
var random = random + '0000000000'
var 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) {
            if(obj.hasOwnProperty(key)){
                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(key, value) {
    console.log(key, value)
})

猜你喜欢

转载自blog.csdn.net/zhanghuali0210/article/details/82146785
今日推荐