js常用API(Data \ Math \ Array \ Object)

本文详细介绍JavaScript中日期与数组的实用操作,包括日期格式化、随机数生成、数组遍历与筛选等核心功能,适合前端开发者快速掌握关键技能。
①日期 
	Date.now()  //获取当前时间毫秒数 
	var dt=new Date() 
	dt.getTime()   //获取毫秒数 
	dt.getFullYear()   //年
	dt.getMonth()  // 月,月份是从0开始的
	(0-31) dt.getHours()   //小时(0-23) 
	dt.getMinutes() //分钟(0-59) 
	dt.getSeconds() //(0-59)
 
②Math 
	Math.random()
	random 在实际中的应用有清除缓存的作用,是每次访问到的都不是缓存
 
③数组API
	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]
	   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,再讲原型链时讲过了
      if(obj.hasOwnProperty(key)){
             console.log(key,obj[key])
      }
    }

问题1、获取2019-08-06格式的日期 
     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"+month;
          }
          return year+"-"+month+"-"+date
     }
     var dt=new Date()
     var formatDate=formatDate(dt)
     console.log(formatDate)
问题2、获取随机数,要求是长度一直的字符串格式 
      var random=Math.random()
      var random=random+'0000000000'   //后面加上10个零
      var random=random.slice(0,10)
      console.log(random)
问题3、写一个能遍历对象和数组的通用forEach函数
       function forEach(obj,fn){
           var key
           //准确判断是不是数组
           if(obj instanceof Array){
                  obj.forEach(function(item,inex){
                         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)
       })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值