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.日期dom

(1) Date.now() //獲取當前時間毫秒數

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

4.Math函數

Math.random()經常使用於清除緩存(例:頻繁訪問一個連接會有緩存,連接後面加random,每次訪問都會變,隨時改變清除緩存)

相關問題:code

(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])
               }
           }
       }
   }
相關文章
相關標籤/搜索