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