1念恍、寫一個函數(shù)衡未,返回從min到max之間的 隨機整數(shù),包括min不包括max
function minMax(min,max){
return Math.floor(Math.random()*(max-min)+min)
}
var a=minMax(50,100)
console.log(a)
2.寫一個函數(shù)婚夫,返回從min都max之間的 隨機整數(shù)浸卦,包括min包括max
function minMax(min,max){
return Math.floor(Math.random()*(max-min+1)+min)
}
var a=minMax(20,30)
console.log(a)
3.寫一個函數(shù),生成一個長度為 n 的隨機字符串案糙,字符串字符的取值范圍包括0到9限嫌,a到 z,A到Z时捌。
var dict=[0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
function rd(n){
var arr=[]
arr.length=n
for(i=0;i<arr.length;i++){
arr[i]=dict[Math.floor(Math.random()*dict.length)]
}
return arr.join('')
}
var str1=rd(29)
console.log(str1)
4 怒医、寫一個函數(shù),生成一個隨機 IP 地址奢讨,一個合法的 IP 地址為 0.0.0.0~255.255.255.255
function rdIp(){
arr=new Array(4)
for(var i=0;i<arr.length;i++){
arr[i]=Math.floor(Math.random()*256)
}
return arr.join('.')
}
var a=rdIp()
console.log(a)
5稚叹、寫一個函數(shù),生成一個隨機顏色字符串拿诸,合法的顏色為#000000~ #ffffff
function rdColor(){
var dict=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'],color
arr=new Array(6)
for(var i=0;i<arr.length;i++){
arr[i]=dict[Math.floor(Math.random()*dict.length)]
}
return color='#'+arr.join('')
}
console.log(rdColor())
1.數(shù)組方法里push扒袖、pop、shift亩码、unshift季率、join、splice分別是什么作用描沟?用 splice函數(shù)分別實現(xiàn)push飒泻、pop、shift吏廉、unshift方法蠢络。
push
往數(shù)組最后面增添一個元素,會改變原數(shù)組 arr.push(要增加的元素);//返回增加的值pop
刪除數(shù)組最后面的一個元素迟蜜,改變原數(shù)組,arr.pop();//返回刪除的值shift
刪除數(shù)組最前面的一個元素啡省,改變數(shù)組娜睛,arr.shift();//返回刪除的值unshift
往數(shù)組最前面增添一個元素髓霞,改變原數(shù)組,arr.unshift(要增加的元素);//返回增加的值join
把數(shù)組中所有元素放入一個字符串畦戒,并且方库,可以指定分割符。
arr.join('-')//返回字符串-
splice
splice 中文:拼接障斋,結(jié)合纵潦。 在js中可以操作數(shù)組,增加/刪除垃环。
用法:splice(index,howmany,item1,item2...)//返回刪除的新數(shù)組
其中index邀层,起始位置,支持負數(shù)遂庄,負數(shù)就是倒序(負數(shù)時寥院,第二個參數(shù)沒用,只刪除一次)涛目,(必選參數(shù))
howmany秸谢,刪除多少次。(必選參數(shù))
items ,要增加的項目霹肝。(可選)估蹄,改變原數(shù)組。- 容易和slice沫换,split搞混(因為拼寫有點像俺粢稀)
- slice 切片,字符串和數(shù)組都可以用,a.slice(x,y)代表切片起始位置x和終止位置苗沧,支持負數(shù)刊棕。返回的是切片的字符串或者數(shù)組。
- split,將字符串轉(zhuǎn)換為數(shù)組待逞,a.split(x,y) x選擇字符串或正則表達式來作為分割線甥角,并且會去掉他們,y,可選识樱。該參數(shù)可指定返回的數(shù)組的最大長度嗤无。如果設(shè)置了該參數(shù),返回的子串不會多于這個參數(shù)指定的數(shù)組怜庸。如果沒有設(shè)置該參數(shù)当犯,整個字符串都會被分割,不考慮它的長度割疾。
用splice實現(xiàn)push嚎卫,pop,shift,unshift
var a=[1,2,3,4,5],b
a.push(6)
a.splice(a.length,0,4)
console.log(a)//和push一樣
a.pop()
a.splice(-1,1)
console.log(a)//和pop一樣
a.shift()
a.splice(0,1)
console.log(a)
a.unshift(1)
a.splice(0,0,1)
console.log(a)
2宏榕、寫一個函數(shù)拓诸,操作數(shù)組侵佃,數(shù)組中的每一項變?yōu)樵瓉淼钠椒剑谠瓟?shù)組上操作
var a=[1,2,3,4],b
b=a.map(function(x){return x*x})
console.log(b)
var a=[1,2,3,4]
function aa(a){
for(var i=0;i<a.length;i++){
a[i]=a[i]*a[i]
}
return a
}
console.log(aa(a))
3.寫一個函數(shù)奠支,操作數(shù)組馋辈,返回一個新數(shù)組,新數(shù)組中只包含正數(shù)倍谜,原數(shù)組不變
var a=[1,2,3,4,-1,0,2,5],b
b=a.filter(function(x){return x>0})
console.log(b)
var a=[1,2,3,4,-1,0,2,5]
function positiveNumber(arr){
var b=[],j=0
for(var i in arr){
if(arr[i]>0){
b[j]=arr[i]
j++
}
}
return b
}
console.log(positiveNumber(a))
1迈螟、 寫一個函數(shù)getChIntv,獲取從當前時間到指定日期的間隔時間
function getChlntv(x){
var a=Date.parse(x)-Date.now()
var b=1000*60*60*24
var c=1000*60*60
var d=1000*60
var e=1000
if(a>=0){
console.log('距離'+x+'還有'+Math.floor(a/b)+'天'+Math.floor(a%b/c)+'小時'+Math.floor(a%b%c/d)+'分'+Math.floor(a%b%c%d%e)+'秒')
} else{
console.log('從'+x+'到如今,我們已經(jīng)走過'+Math.floor((-a)/b)+'天'+Math.floor((-a)%b/c)+'小時'+Math.floor((-a)%b%c/d)+'分'+Math.floor((-a)%b%c%d/e)+'秒')
}
}
2.把hh-mm-dd格式數(shù)字日期改成中文日期
var str = getChsDate('2015-10-08');
function getChsDate(str){
var dict= {'0':'零','1':'一','2':'二','3':'三','4':'四','5':'五','6':'六','7':'七','8':'八','9':'九','10':'十','11':'十一','12':'十二','13':'十三','14':'十四','15':'十五','16':'十六','17':'十七','18':'十八','19':'十九','20':'二十','21':'二十一','22':'二十二','23':'二十三','24':'二十四','25':'二十五','26':'二十六','27':'二十七','28':'二十八','29':'二十九','30':'三十','31':'三十一'}
var arr=str.split('-')
console.log(arr)
var strYear='',strMonth,strDay,Date
for(var i=0;i<arr[0].length;i++){
strYear+=dict[arr[0][i]]
}
console.log(strYear)
if(arr[1][0]==='0'){
strMonth=dict[arr[1][1]]
}else{
strMonth=dict[arr[1]]
}
console.log(strMonth+'月')
if(arr[2][0]==='0'){
strDay=dict[arr[2][1]]
}else{
strDay=dict[arr[2]]
}
console.log(strDay)
return strYear+'年'+strMonth+'月'+strDay+'日'
}
console.log(str)
3尔崔、寫一個函數(shù)答毫,參數(shù)為時間對象毫秒數(shù)的字符串格式,返回值為字符串您旁。假設(shè)參數(shù)為時間對象毫秒數(shù)t烙常,根據(jù)t的時間分別返回如下字符串:
剛剛( t 距當前時間不到1分鐘時間間隔)
3分鐘前 (t距當前時間大于等于1分鐘,小于1小時)
8小時前 (t 距離當前時間大于等于1小時鹤盒,小于24小時)
3天前 (t 距離當前時間大于等于24小時蚕脏,小于30天)
2個月前 (t 距離當前時間大于等于30天小于12個月)
8年前 (t 距離當前時間大于等于12個月)
function abc(time){
var a=Date.now()-time
console.log(a)
switch(true){
case a<1000:
return '剛剛'
break;
case 1000<=a<1000*60*60:
return '3分鐘前';
break;
case 1000*60*60<=a<1000*60*60*24:
return '8小時前';
break;
case 1000*60*60*24<=a<1000*60*60*24*30:
return '3天前'
break;
case 1000*60*60*24*30<=a<1000*60*60*24*30*12:
return '8個月前';
break;
case a>=1000*60*60*24*30*12:
return '8年前';
}
}