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]) } } } }