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

JS日期,Math,数组以及对象的整理

2018-03-05 00:14 375 查看
相关题目

知识点

相关题目

获取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(format);


获取随机数,要求是长度一致的字符串格式(随机数在前端开发中的作用)

var random =Math.random();
random= random + '0000000000';//保证下一句不会报错
random = random.slice(0,9);
console.log(random);


写一个能遍历对象和数组的通用的forEach函数(jquery中有)

//想想对象中的forEach与数组中的for in怎么用比较好

//这里是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(key,value){
console.log(key,value);
})


知识点

日期

Date.nowTime(); //获取当前时间毫秒数(这个数是从1970开始算起到现在走了多少毫秒数)
var myDate = new Date(); //new一个时间对象
myDate.getTime(); //获取毫秒数
myDate.getFullYear(); //年(4位数),还有一种getYear()的方法,有兼容性的问题,与getFullYear()相差1900
myDate.getMonth(); //月(0-11),实际应用是应该注意它的返回值
myDate.getDate();//日(1-31)
myDate.getDay();//星期(0-6),实际应用是应该注意它的返回值
myDate.getHours();//时(0-23)
myDate.getMinutes();//分(0-59)
myDate.getSeconds();//秒(0-59)


Math

1 . 获取随机数Math.random();

会返回一个大于0小于1的一个小数,eg:0.14249200181060218,一般常用于清除缓存,比如:页面打开时,由于缓存的存在,刚刚更新的数据有时无法在页面得到刷新,因为如果请求的地址是相同的,浏览器就不会去连接服务器。这时候可以用随机数来处理,相当于加载新的页面。

在URL 参数后加上 "?r=" + Math.random();//加随机数
在 URL 参数后加上 "?timestamp=" + new Date().getTime(); //也可以加时间戳


2 . 更多方法及随机数的扩展见我之前的博客

数组API

1 . forEach遍历所有元素

var arr = [1,2,3];
arr.forEach(function(item,index){//item为元素的值eg:1,2,3,index位为元素的位置,从0开始的
//遍历数组中所有元素
console.log(index,item);
//注意参数顺序
});


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

var arr = [1,2,3];
var result = arr.every(funciton(item,index){
// 用来判断所有的数组元素,都满足一个条件
if(item < 4){
return ture;
}
});
console.log(result);//true


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

var arr = [1,2,3];
var result = arr.every(funciton(item,index){
// 用来判断所有的数组元素,都满足一个条件
if(item < 2){
return ture;
}
});
console.log(result);//true


4 . sort排序(从小向大排序)

var arr = [1,4,3,2,5];
var arr2 = arr.sort(function(a,b){
//从小到大
return a-b;
//从大到小
//return b-a;
});
console.log(arr2);//[1,2,3,4,5]


5 . map对元素重新组装,生成新数组(把元素按照一种规则组装成另外一种元素,生成一种新的数组)

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


6 . filter过滤符合条件的元素

var arr = [1,2,3];
var arr2 = arr.filter(function(item,index){
//通过一个条件过滤数组
if(item>=2){
return true;
}
});
console.log(arr2); //2,3


对象API

var obj ={x:100,y:200,z:300};
var key;
for(key in obj){//key这里取得是obj的属性名
if(obj.hasOwnProperty(key)){//判断他是这个obj的属性而不是原型的属性
console.log(key,obj[key]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: