JS-經常使用數組API、對象API與日期、隨機數

1.數組API

(1) forEach 遍歷一切元素

   var arr = [1,2,3]
   arr.forEach(function( item,index ){ //參數遞次劃定 item , index
       console.log(index,item) //遍曆數組一切元素
   })
   
(2) every 推斷一切元素是不是都相符前提

    var arr = [1,2,3]
    var result = arr.every(function( item,index ){ //注重參數遞次
        if( item < 4 ){ //用來推斷一切的數組元素都滿足一個前提
            return true;
        }
    })
    console.log(result) //true 都相符,不然false
    
(3) some 推斷是不是至少有一個元素相符前提

    var arr = [1,2,3]
    var result = arr.some(function( item,index ){ //注重參數遞次
        if( item < 2 ){ //用來推斷一切的數組元素,只需有一個滿足前提即可
            return true;
        }
    })
    console.log(result) //true 

(4) sort 排序
    var arr = [1,4,2,3,5]
    var arr2 = arr.sort(function (a, b){
        // return a - b //從小到大排序
        return b - a //從大到小排序
    })
    console.log(arr2) //[5,4,3,2,1]

(5) map 對元素從新組裝,天生新數組
    var arr = [1,2]
    var arr2 = arr.map(function (item, index){ //注重參數遞次
        return '<b>'+ item + '</b>' //將數組元素從新封裝並返回
    })
    console.log(arr2) //["<b>1</b>","<b>2</b>"]

(6)filter 過濾相符前提的元素
   var arr = [1,2,3]
   var arr2 = arr.filter(function (item, index){  
       if( item >= 2){     //經由過程某一個前提過濾數組 //注重參數遞次
           return  true
       }
   })
   console.log(arr2) //[2,3]

2.對象API

var obj = {a:10,b:20,c:30}
var key
for (key in obj){
    if(obj.hasOwnProperty(key)){
        console.log(key,obj[key])
    }
}

3.日期

(1) Date.now() //獵取當前時候毫秒數

(2)var d = new Date() 
   dt.getTime() //獵取當前時候毫秒數

4.Math

Math.random()常用於消滅緩存(例:頻仍接見一個鏈接會有緩存,鏈接背面加random,每次接見都邑變,隨時轉變消滅緩存)

相干題目:

(1) 獵取 2018-05-18 花樣的日期:
    function date(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 d = new Date()
    var formatDate = date( d )

(2) 獵取隨機數,請求時長度一致的字符串花樣:

    var random = Math.random()
    random = random + '0000000000' //背面加上10個0 (如果slice(0,4)也不會報錯)
    random = random.slice(0,10) //slice相當於複製,複製出一個新數組,不轉變原數組

(3)寫一個能遍歷對象和數組的通用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])
               }
           }
       }
   }
    原文作者:艿厝
    原文地址: https://segmentfault.com/a/1190000014929376
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞