js--日期和Math、陣列和物件API
阿新 • • 發佈:2018-11-14
一、日期
Date.now() //獲取當前時間毫秒數,從1970年到現在的毫秒數
var dt =new Date()
dt.getTime() //獲取毫秒數
dt.getFullYear() //年
dt.getMonth() //月(0-11)
dt.getDate() //日(0-31)
dt.getHours() //小時(0-23)
dt.getMinutes() //分鐘(0-59)
二、Math
獲取隨機數:Math.random()。作用是:清除快取。
三、陣列API
- forEach遍歷所有元素
var arr=[ 1,2,3]
arr.forEach(function(item,index){
console.log(index,item)
})
//輸出結果
//0 1
//1 2
//2 3
- every判斷所有元素是否都符合條件
var arr=[1,2,3]
var result=arr.every(function(item,index){
if(item<4){return true}
})
console.log(result) //true
- some判斷是否至少有一個元素符合條件
var arr=[1,2,3]
var result=arr. every(function(item,index){
if(item<2){return true}
})
console.log(result) //true
- sort排序
var arr=[1,4,3,2,5]
var arr2=arr.sort(function(a,b){
return a-b
})
console.log(arr2) //1,2,3,4,5
- map對元素重新組裝,生成新陣列
var arr=[1,2,3,4]
var arr2=arr.map(function(item,index){
return '<b>'+item+'</b>'
})
console.log(arr2) //[ '<b>1</b>', '<b>2</b>', '<b>3</b>', '<b>4</b>' ]
- filter過濾符合條件的元素
var arr = [1,2,3]
var arr2 = arr.filter(function(item, index) {
if(item >= 2){
return true
}
})
console.log(arr2) //[ 2, 3 ]
四、物件API
- for(key in obj)
var obj = {
x:100,
y:200,
z:300
}
var key; //key取obj的屬性名
for(key in obj) {
if(obj.hasOwnProperty(key)) { //判斷key是obj的原生屬性,而不是從原型中拿過來的
console.log(key, obj[key])
}
}
for (key of in obj)是獲取物件的屬性值
obj.hasOwnProperty(key)-------obj原生屬性key
五、題目解答
- 獲取2017-06-10格式的日期
function formatDate(dt) {
if(!dt){
dt=new Date()
}
var year=dt.getFullYear()
var month=dt.getMonth()+1
var day=dt.getDate()
if(month<10){
month='0'+month
}
if(day<10){
day='0'+day
}
return year+'-'+month+'-'+day
}
var dt=new Date()
var formatDate=formatDate(dt)
console.log(formatDate)
- 獲取隨機數,要求是長度一致的字串格式
var random = Math.random()
var random = random + '0000000000'
var random = random.slice(0,10)
console.log(random)
- 寫一個遍歷物件和陣列的通用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])
}
}
}
}
var arr = [1,2,3]
forEach(arr, function(index, item) {
console.log(index, item)
})
var obj = {x:100, y:200}
forEach(obj, function(key, value) {
console.log(key, value)
})