美文网首页
Date,Math,数组和对象常用API

Date,Math,数组和对象常用API

作者: 24_Magic | 来源:发表于2019-04-19 16:42 被阅读0次
    • Date
      Date.now() //现在时间毫秒数
      var dt = new Date()
      dt.getTimes() //现在时间毫秒数
      dt.getFullYear() //年
      dt.getMonth() //月,以0开始
      dt.getDate() //日
      dt.getHours() //小时
      dt.getMinutes //分
      dt.getSeconds() //秒
    

    代码表示2019-4-19的时间格式

    function formDate (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 formDate = formDate(dt)
    
    • Math
      Math.random() //0-1随机数,位数也不同
      代码写出位数一致的随机数
    var random = Math.random()
    random = random + "0000000000"
    random = random.slice(0, 10)
    
    • 数组和对象常用API
      数组API:
      forEach: 遍历数组
      every: 判断数组中每个元素是否都符合给定条件
      some: 判断数组中至少一个元素符合给定条件
      sort: 数组正反排序
      map: 重新组装数组中的每个元素
      filter: 过滤数组中符合条件的元素
    var arr = [1, 3, 6, 2, 5]
    arr.forEach(function(item, index){
      //相应代码
    })
    
    var result
    result= arr.every(function(item, index){
      if(item < 7) {
        return true
      }
    })
    console.log(result) //true
    
    var result1
    result1= arr.some(function(item, index){
      if(item < 3) {
        return true
      }
    })
    console.log(result1) //true
    
    var arr1
    arr1 = arr.sort(function(a, b){
      return a-b //正序排列
      /*
      return b-a 倒序排列
     */
    })
    console.log(arr1) // [1, 2, 3, 5, 6], 改变原数组arr
    
    var arr2
    arr2 = arr.map(function(item, index){
      return "<b>" + item + "</b>"
    })
    console.log(arr2) // ["<b>1</b>", "<b>3</b>", "<b>2</b>", "<b>5</b>", "<b>6</b>"]
    
    var arr3
    arr3 = arr.filter(function(item, index){
      if(item < 3) {
        return true
      }
    })
    console.log(arr3) //[1, 2]
    

    对象API
    for in : 循环遍历

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

    写一个同时可以遍历数组和对象的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, 4, 3]
    forEach(arr, function(index, item){
      console.log(index, item)
    })
    var obj = {
      x: 100,
      y: 200
    }
    forEach(obj, function(key, val){
      console.log(key, val)
    })
    

    相关文章

      网友评论

          本文标题:Date,Math,数组和对象常用API

          本文链接:https://www.haomeiwen.com/subject/ytgqgqtx.html