您的位置:首页 > Web前端 > JavaScript

JavaScript基础(六)其他知识点,日期,Math,数组,对象

2017-07-09 14:17 555 查看
日期:

Date.now()//获取当前时间的毫秒数
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)


Math:

1.获取随机数 Math.random();返回大于0小于1时用,随时改变清楚缓存。

数组:

1、forEach 遍历所有元素

2、every 判断所有元素是否都符合条件

3、some 判断是否有至少一个元素符合条件

4、sort 排序

5、map 对元素重新组装,生成新数组

6、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 < 4 ){
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,3,5]
var arr2 = arr.sort(function (a, b){
//从小到大排序
return a - b
//从大到小排序
return b - a
})
console.log(arr2)


var arr = [1,2,3,4]
var arr2 = arr.map(function (item, index){
//将数组元素重新封装并返回
return '<b>'+ item + '</b>'
})
console.log(arr2)


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
if(obj.hasOwnProperty(key)){
console.log(key,obj[key])
}
}


解答:

获取 2017-06-10 格式的日期

获取随机数,要求时长度一直的字符串格式

写一个能遍历对象和数组的通用forEach函数

1、获取 2017-06-10 格式的日期

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 random = Math.random()
var random = random + '0000000000' //后面加上10个0
var random = random.slice(0,10)
console.log(random)


3、写一个能遍历对象和数组的通用forEach函数

先不想怎么写,先看下面:

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


接下来实现:

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])
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐