- 寫(xiě)一個(gè)函數(shù),返回從min到max之間的隨機(jī)整數(shù),包括min不包括max
function a(min,max){
return Math.floor(Math.random()*(max-min)+min);
}
console.log(a(10,31));
//Math.random()只要在調(diào)用一次,其的值就會(huì)改變一次,所以不能當(dāng)成參數(shù)進(jìn)行運(yùn)算。
- 寫(xiě)一個(gè)函數(shù),返回從min都max之間的隨機(jī)整數(shù),包括min包括max
function a(min,max){
return Math.floor(Math.random()*(max+1-min)+min);
}
console.log(a(10,30));
- 寫(xiě)一個(gè)函數(shù),生成一個(gè)長(zhǎng)度為 n 的隨機(jī)字符串,字符串字符的取值范圍包括0到9,a到 z,A到Z。
function getRandStr(len){
var a="0123456789abcdefghijklmnopqrstuvwxyzABCDEDGHIJKLMNOPQRSTUVWXYZ";
var c=[];
var d=a.split('')
for(i=0;i<n;i++){
var b=Math.floor(Math.random()*63);
c[i]=d[b];
}
return c.join(''); //補(bǔ)全函數(shù)
}
var str = getRandStr(10); // 0a3iJiRZap
- 寫(xiě)一個(gè)函數(shù),生成一個(gè)隨機(jī) IP 地址,一個(gè)合法的 IP 地址為 0.0.0.0~255.255.255.255
function getRandIP(){
var b=[];
for(i=0;i<4;i++){
var a=Math.floor(Math.random()*256);
b[i]=a;
}
return b.join('.')
}//補(bǔ)全
}
var ip = getRandIP()
console.log(ip) // 10.234.121.45
- 寫(xiě)一個(gè)函數(shù),生成一個(gè)隨機(jī)顏色字符串,合法的顏色為#000000~ #ffffff
function getRandColor(){
var str="012346789abcdef";
var b=[];
var c=str.split('');
for(i=0;i<6;i++){
var a=Math.floor(Math.random()*17);
b[i]=c[a];
}
return ('#'+b.join(''));
}
var color = getRandColor()
console.log(color); // #3e2f1b
數(shù)組任務(wù)
- 數(shù)組方法里push、pop、shift、unshift、join、split分別是什么作用?用 splice函數(shù)分別實(shí)現(xiàn)push、pop、shift、unshift方法
PUSH:在數(shù)組最后添加一項(xiàng);POP:拿出數(shù)組中最后一項(xiàng);SHIFT:拿出數(shù)組中的第一項(xiàng);UNSHIFT:為數(shù)組添加第一項(xiàng);JOIN:將數(shù)組轉(zhuǎn)化為字符串;SPLIT:將字符串轉(zhuǎn)化為數(shù)組。
SPLICE:實(shí)現(xiàn)push:splice(-0,0,item);pop:splice(0,arr.length-1,);shift:splice(1,arr.length-1);
unshift:splice(0,0,item); - 寫(xiě)一個(gè)函數(shù),操作數(shù)組,數(shù)組中的每一項(xiàng)變?yōu)樵瓉?lái)的平方,在原數(shù)組上操作
function squareArr(arr){
for(i=0;i<arr.length;i++){
arr[i]=arr[i]*arr[i];
}
return arr;
}
var arr = [2, 4, 6]
squareArr(arr)
console.log(arr) // [4, 16, 36]
- 寫(xiě)一個(gè)函數(shù),操作數(shù)組,返回一個(gè)新數(shù)組,新數(shù)組中只包含正數(shù),原數(shù)組不變
function filterPositive(arr){
var a=[];
for(i=0;i<arr.length;i++){
if(arr[i]>0 &typeof arr[i]!='boolean'){
a.push(arr[i]);
}
}
return a;
}
var arr = [3, -1, 2, '饑人谷', true];
var newArr = filterPositive(arr);
console.log(newArr);
console.log(arr);
Date 任務(wù)
- 寫(xiě)一個(gè)函數(shù)getChIntv,獲取從當(dāng)前時(shí)間到指定日期的間隔時(shí)間
function getChIntv(n){
var b=Date.parse(n);
var a=Date.now();
var c=a-b;
console.log(c);
var day=parseInt(c/(2460601000));
var hour=parseInt(c/(10006060)-24day);
var m=parseInt(c/(601000)-hour60-24day60);
var s=parseInt(c/(1000)-24day6060-hour6060-m60);
return (day+'天'+hour+'小時(shí)'+m+'分'+s+'秒');
}
var str = getChIntv("2017-03-24");
console.log(str);
- 把hh-mm-dd格式數(shù)字日期改成中文日期
function getChsDate(n){
var a = ["零","一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一"];
var b=n.split('-');
console.log( b);
var c=b[0].split('');
for(var key in c){
c[key]=a[c[key]];
}
c.push('年');
var d=b[1].split();
for(var key in d){
if(d[key]=='零'){delete d[key];}else{
d[key]=a[d[key]];
}
}
d.push('月');
var f=b[2].split();
console.log(f);
for(var key in f){
if(f[key]=='零'){delete f[key]}else{
f[key]=a[f[key]];}
}
f.push('日');
var h=(c+d+f);
for(i=0;i<h.length;i++){
h=h.replace(',','');
}
return h;
}
var str = getChsDate('2015-12-31');
console.log(str); // 二零一五年一月八日
- 寫(xiě)一個(gè)函數(shù),參數(shù)為時(shí)間對(duì)象毫秒數(shù)的字符串格式,返回值為字符串。假設(shè)參數(shù)為時(shí)間對(duì)象毫秒數(shù)t,根據(jù)t的時(shí)間分別返回如下字符串:
剛剛( t 距當(dāng)前時(shí)間不到1分鐘時(shí)間間隔)
3分鐘前 (t距當(dāng)前時(shí)間大于等于1分鐘,小于1小時(shí))
8小時(shí)前 (t 距離當(dāng)前時(shí)間大于等于1小時(shí),小于24小時(shí))
3天前 (t 距離當(dāng)前時(shí)間大于等于24小時(shí),小于30天)
2個(gè)月前 (t 距離當(dāng)前時(shí)間大于等于30天小于12個(gè)月)
8年前 (t 距離當(dāng)前時(shí)間大于等于12個(gè)月)
function friendlyDate(time){
var subst=Date.now()-time;
if(subst<0){
return '未來(lái)某一時(shí)間';
}
else{
if(subst<100060){
return '剛剛';
}
else if(subst<10006060){
return '3分鐘前';
}
else if(subst<1000606024){
return '8小時(shí)前';
}
else if(subst<100060602430){
return '3天前';
}
else if(subst<1000606024365){
return '2個(gè)月前';
}
else{
return '8年前';
}
}
}
var str = friendlyDate( '1484286699422' ) // 1分鐘前
var str2 = friendlyDate('1483941245793') //4天前
console.log(str);
console.log(str2);