题目
- 获取2017-06-10格式的日期
- 获取随机数,要求是长度一致的字符串格式
- 写一个能遍历对象和数组的通用forEach函数
知识点
日期
Date.now()
var dt = new Date()
dt.getTime()
dt.getFullYear()
dt.getMonth()
dt.getDate()
dt.getHours()
dt.getMinutes()
dt.getSeconds()
Math
Math.random()
数组API
- forEach 遍历所有元素
- every 判断所有元素是否都符合条件
- some 判断是否有至少一个元素符合条件
- sort 排序
- map 对元素重新组装,生成新数组
- filter 过滤符合条件的元素
var arr = [1,2,3]
arr.forEach(function(item, index){
console.log(index,item)
})
var arr = [1,2,3]
var result = arr.every(function(item,index){
if(item>1) return true
})
console.log(result)
var arr = [1,2,3]
var result = arr.some(function(item,index){
if(item>2) return true
})
console.log(result)
var arr = [1,4,2,6,3]
var arr1 = arr.sort(function(a,b){
return a - b
})
console.log(arr1)
var arr =[1,2,3]
var arr1 = arr.map(function(item,index){
return item + '0'
})
console.log(arr1)
var arr =[1,2,3,4]
var arr1 = arr.filter(function(item,index){
if(item>2) return true
})
console.log(arr1)
对象API
var obj = {
x: 100,
y: 200,
z: 300
}
var key
for(key in obj){
if(obj.hasOwnProperTy(key)){
console.log(key, obj[key])
}
}
解答
获取2017-06-10格式的日期
var dt = new Date()
var YY = dt.getFullYear()
var MM = dt.getMonth()+1
var DD = dt.getDate()
console.log(YY+'-'+MM+'-'+DD)
function formatDate(dt){
if(!dt) dt = new Date()
var yy = dt.getFullYear()
var mm = dt.getMonth()+1
var dd = dt.getDate()
if(mm<10) mm = '0' + mm
if(dd<10) dd = '0' + dd
return yy + '-' + mm + '-' + dd
}
var dt = new Date()
console.log(formatDate(dt))
获取随机数,要求是长度一致的字符串格式
function Random(){
return function(num){
var r = Math.random()
console.log(r)
}
}
var random = Random()
random()
var random = Math.random()
random = random + '0000000000'
random = random.slice(0,10)
console.log(random)
写一个能遍历对象和数组的通用forEach函数
function forEach(obj){
var key
if(obj == null) return (function(){alert('参数未定义')})()
if(obj instanceof Array){
obj.forEach(function(item,index){
console.log(index,item)
})
}else{
for(key in obj){
console.log(obj[key])
}
}
}
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,z:300}
forEach(obj,function(key,val){
console.log(key,val)
})