2018.09.29 学习笔记 // 前端Javascript // 日期、Math、数组与对象API

题目:答案见后面

  • 获取2018-09-29格式的日期
  • 获取随机数,要求是长度一直的字符串格式
  • 写一个能遍历对象的数组的通用forEach函数

日期和Math:

var a = Date.now() //获取当前时间毫秒数  从1970年到现在走了多少毫秒
var dt = new Date()
dt.getTime() //获取毫秒数
var y = dt.getFullYear() //年
dt.getMonth() //月 返回值是0-11之间 所以需要加1
dt.getDate() //日
dt.getHours() //小时
dt.getMinutes() //分钟
dt.getSeconds() //秒

数组的API:

  • forEach 遍历所有元素
var arr = ['a','b','c'];
arr.forEach(function(item,index){
    console.log(item,index)
}) // a 0 b 1 c 2
  • every 判断所有元素是否都符合条件
var arr = ['a','b','c'];
var result = arr.every(function(item,index){
    if(item < 4){
        return ture;
    }
}) 
console.log(result) //false
  • some 判断是否有至少一个元素符合条件
  • sort 排序
var arr = [4,3,6];
var result = arr.sort(function(a,b){
    return b-a
})
console.log(result) //[6,4,3]
  • 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,4];
var arr2 = arr.filter(function(item,index){
    if(item >= 2){
        return true
    }
})
console.log(arr2) //[ 2, 3, 4 ]

对象的API:

var key
for(key in obj){
    if(obj.hasOwnProperty(key)){
        console.log(key, obj[key])
    }
} //x 100 y 200 z 300

答案:

1.

function formatDate(dt){
    if(!dt){
        dt = new Date()
    }
    var year = dt.getFullYear()
    var month = dt.getMonth() + 1
    var date = dt.getDate()
    if(month < 10){
        month = '0' + month
    }
    if(date < 10){
        date = '0' + date
    }
    return year + '-' + month + '-' + date
}
var dt = new Date() //要定义新对象
var formatDate = formatDate(dt) //将对象传入 进行处理
console.log(formatDate)

2.

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

3.

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(key,value){
    console.log(key,value)
})

猜你喜欢

转载自blog.csdn.net/weixin_41004238/article/details/82897373