- 获取2017-11-20格式的日期
- 获取随机数,要求是长度一致的字符串格式
- 写一个能遍历对象和数组的通用forEach函数
常用API
日期API
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)
dt.getSeconds() //秒(0-59)
MathAPI
Math.random() //获取随机数
数组API
forEach //遍历所有元素
every //判断所有元素是否都符合条件
some //判断是否有至少一个元素符合条件
sort //排序
map //对元素重新组装,生成新数组
filter //过滤符合条件的元素
//foreach
var arr = [1,2,3]
arr.forEach(function(item,index){
//遍历数组的所有元素
console.log(index,item)
})
//every
var arr = [1,2,3]
var result = arr.every(function(item,index){
//判断所有的数组元素,都满足一个条件
if(item < 4){
return true
}
})
console.log(result)
//some
var arr = [1,2,3]
var result = arr.some(function(item,index){
//判断所有的数组元素,只要有一个满足即可
if(item < 2){
return true
}
})
console.log(result)
//sort
var arr = [1,4,2,3,5]
var arr2 = arr.sort(function(a,b){
//从小到大排序
return a - b
//从大到小排序
return b - a
})
console.log(arr2)
//map
var arr = [1,2,3,4]
var arr2 = arr.map(function(item,index){
//将元素重新组装,并返回
return '' + item + ''
})
console.log(arr2)
//filter
var arr = [1,2,3,4]
var arr2 = arr.filter(function(item,index){
//通过某一个条件过滤数组
if(item >= 2){
return true
}
})
console.log(arr2)
对象API
var obj = {
x:100,
y:200,
z:300
}
var key
for(key in obj){
//注意这里的 hasOwnProperty,是否是key本身的而不是原型的
if(obj.hasOwnProperty(key)){
console.log(key,obj[key])
}
}
三个Demo
获取2017-06-10格式的日期
function formatDate(d){
if(!d){
var d = new Date()
}
var year = d.getFullYear()
var month = d.getMonth() + 1
var date = d.getDate()
if(month < 10){
month = '0' + month
}
if(date < 10){
date = '0' + date
}
return year + '-' + month + '-' + date
}
var d = new Date()
console.log(formatDate(d))
获取随机数,要求长度一致的字符串格式
var random = Math.random()
random = random + '0000000000' //加10个0
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){
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(index,item){
console.log(index,item)
})