js--日期和Math、数组和对象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)

二、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.every(function(item,index){
      if(item<2){return true}
})
console.log(result)    //true
  • sort排序
var arr=[1,4,3,2,5]
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])
   }
}

for (key of in obj)是获取对象的属性值
obj.hasOwnProperty(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/weixin_42582742/article/details/83989458
今日推荐