题目:答案见后面
- 获取2018-09-29格式的日期
- 获取随机数,要求是长度一直的字符串格式
- 写一个能遍历对象的数组的通用forEach函数
日期和Math:
var a = Date.now() //获取当前时间毫秒数 从1970年到现在走了多少毫秒
var dt = new Date()
dt.getTime() //获取毫秒数
var y = dt.getFullYear() //年
dt.getMonth() //月 返回值是0-11之间 所以需要加1
dt.getDate() //日
dt.getHours() //小时
dt.getMinutes() //分钟
dt.getSeconds() //秒
数组的API:
- forEach 遍历所有元素
var arr = ['a','b','c'];
arr.forEach(function(item,index){
console.log(item,index)
}) // a 0 b 1 c 2
- every 判断所有元素是否都符合条件
var arr = ['a','b','c'];
var result = arr.every(function(item,index){
if(item < 4){
return ture;
}
})
console.log(result) //false
- some 判断是否有至少一个元素符合条件
- sort 排序
var arr = [4,3,6];
var result = arr.sort(function(a,b){
return b-a
})
console.log(result) //[6,4,3]
- 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,4];
var arr2 = arr.filter(function(item,index){
if(item >= 2){
return true
}
})
console.log(arr2) //[ 2, 3, 4 ]
对象的API:
var key
for(key in obj){
if(obj.hasOwnProperty(key)){
console.log(key, obj[key])
}
} //x 100 y 200 z 300
答案:
1.
function formatDate(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 dt = new Date() //要定义新对象
var formatDate = formatDate(dt) //将对象传入 进行处理
console.log(formatDate)
2.
var m = Math.random()
m = m + '0000000000'
m = m.slice(0,10)
console.log(m)
3.
function forEach(obj,fn){
var key
if(obj instanceof Array){
obj.forEach(function(item,index){
fn(index,item)
})
}else{
for(key in obj){
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)
})