Math
1、寫一個函數(shù)府框,返回從min到max之間的 隨機(jī)整數(shù),包括min不包括max
function ranDom(min,max){
return min+floor(random()*(max-min))
}
2、寫一個函數(shù)迫靖,返回從min都max之間的 隨機(jī)整數(shù)院峡,包括min包括max
function ranDom(min,max){
return min+floor(random()*(max-min+1))
}
3、寫一個函數(shù)系宜,生成一個長度為 n 的隨機(jī)字符串照激,字符串字符的取值范圍包括0到9,a到 z盹牧,A到Z俩垃。
function ranDom(min,max){
return min+floor(random()*(max-min))
}
function getRandStr(len){
var dict = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
var str = ""
for(var i = 0;i<len; i++){
str+=dict[random(0,62)]
}
return str
}
var str = getRandStr(10); // 0a3iJiRZap
4汰寓、寫一個函數(shù)口柳,生成一個隨機(jī) IP 地址,一個合法的 IP 地址為
function ranDom(min,max){
return min+floor(random()*(max-min))
}
0.0.0.0~255.255.255.255
function getRandIP(){
var arr = []
for(var i = 0;i < 4;i ++){
arr.push(random(0,256))
}
return arr.join('.')
var ip = getRandIP()
console.log(ip) // 10.234.121.45
5有滑、寫一個函數(shù)跃闹,生成一個隨機(jī)顏色字符串,合法的顏色為#000000~ #ffffff
function ranDom(min,max){
return min+floor(random()*(max-min))
}
function getRandColor(){
dict = '0123456789abcdef'
var str = ''
for(var i = 0;i<6;i ++){
str +=dict[random(0,16)]
}
return "#"+str
var color = getRandColor()
console.log(color) // #3e2f1b
數(shù)組
1毛好、數(shù)組方法里push望艺、pop、shift肌访、unshift找默、join、splice分別是什么作用吼驶?用 splice函數(shù)分別實現(xiàn)push啡莉、pop、shift旨剥、unshift方法
-
push() 方法可向數(shù)組末尾添加一個或多個元素咧欣,并返回新的長度。
var arr = [1,2,3] arr.push(4,5,6) console.log(arr) // array [1,2,3,4,5,6]
pop()用于刪除并返回數(shù)組最后一個元素轨帜,原數(shù)組長度減一魄咕,如果數(shù)組已經(jīng)為空,則 pop() 不改變數(shù)組蚌父,并返回 undefined 值哮兰。
shift()用于刪除數(shù)組第一個元素并返回被刪除元素,改變原數(shù)組苟弛。如果數(shù)組為空數(shù)組則返回undefined喝滞。
unshift()方法可向數(shù)組的開頭添加一個或更多元素,并返回新的長度膏秫。
join() 方法用于把數(shù)組中的所有元素放入一個字符串右遭,元素是通過指定的分隔符進(jìn)行分隔的。
splice(起始索引,刪除元素窘哈,添加元素)方法向/從數(shù)組中添加/刪除項目吹榴,然后返回被刪除的項目。
注釋:該方法會改變原始數(shù)組滚婉。
2图筹、寫一個函數(shù),操作數(shù)組让腹,數(shù)組中的每一項變?yōu)樵瓉淼钠椒皆妒#谠瓟?shù)組上操作
var arr = [2, 4, 6]
function squareArr(arr){
for(var i = 0;i<arr.length;I++){
arr[i] = arr[i] * arr{i]
}
return arr
squareArr(arr)
console.log(arr) // [4, 16, 36]
3、寫一個函數(shù)骇窍,操作數(shù)組民宿,返回一個新數(shù)組,新數(shù)組中只包含正數(shù)像鸡,原數(shù)組不變
var arr = [3, -1, 2, '饑人谷', true]
function filterPositive(arr){
for(var i =0; i<arr.length; i ++){
if(typeof arr[i] ==="number" && arr[i] > 0) {
newArr.push(arr[i])
}
return newArr
}
var newArr = filterPositive(arr)
console.log(newArr) //[3, 2]
console.log(arr) //[3, -1, 2, '饑人谷', true]
Date日期函數(shù)
1. 寫一個函數(shù)getChIntv活鹰,獲取從當(dāng)前時間到指定日期的間隔時間.
答:
<script>
var newYear = new Date('2017-2-08');
var nowDay = new Date();
function getInterval(start,end) {
var days = 1000*60*60*24;
var result = end.getTime() - start.getTime();
var result2 = Math.ceil(result/days);
return result2;
}
var demo = getInterval(nowDay,newYear);
console.log(demo);
</script>
2. 寫一個函數(shù)getChIntv,獲取從當(dāng)前時間到指定日期的間隔時間.
答:寫一個函數(shù)getChIntv只估,獲取從當(dāng)前時間到指定日期的間隔時間.
<script>
var newYear = new Date('2017-11-01');
var nowDay = new Date();
function getInterval(start,end) {
var days = 1000*60*60*24;
var hours = 1000*60*60;
var minutes = 1000*60;
var seconds = 1000;
var result = end.getTime() - start.getTime();
var getDay = Math.floor(result/days);
var getHours = Math.floor((result/hours)-(getDay*24));
var getMinutes = Math.floor((result - (getDay*days)- (getHours*hours))/minutes);
var getseconds = Math.floor((result - (getDay*days)-(getHours*hours)- (getMinutes*minutes))/seconds);
var finalResult = "距離除夕還有:"+getDay+"天"+getHours+"小時"+getMinutes +"分鐘"+getseconds+"秒";
return finalResult;
}
var demo = getInterval(nowDay,newYear);
console.log(demo);
</script>
3.把hh-mm-dd格式數(shù)字日期改成中文日期.
答:這道題志群,老師請酌情批改,因為我的月前面不能加0,加了就解析不了月份.
<script>
var str='2015-8-30';
var dict = ["零","一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一"];
function getChsDate(str){
var newStr = str.split('-');
var year=newStr[0];
var month=newStr[1];
var day=newStr[2];
var result_year = year.split('');
var result_month = dict[month.split()[0]].split();
var resutl_day = dict[day.split()[0]].split();
var result = result_month.concat(resutl_day);
var year_str=[];
for(var i = 0;i<result_year.length;i++){
year_str.push(dict[result_year[i]]);
}
var final = year_str.concat(result);
final.splice(4,0,'年');
final.splice(6,0,'月');
final.splice(9,0,'日');
return final.join('');
}
var demo = getChsDate(str);
console.log(demo);
</script>
4.寫一個函數(shù)蛔钙,參數(shù)為時間對象毫秒數(shù)的字符串格式锌云,返回值為字符串。假設(shè)參數(shù)為時間對象毫秒數(shù)t吁脱,根據(jù)t的時間分別返回如下字符串:
答:
<script>
function friendlyDate (time) {
var t = new Date().getTime();
var c = (t-time)/1000;
switch(true){
case c < 60:
console.log('剛剛');
break;
case c >=60 && c<60*60:
console.log(Math.floor(c/60)+'分鐘前');
break;
case c>=3600 && c<3600*24:
console.log(Math.floor(c/3600)+"小時前");
break;
case c>=3600*24 && c<3600*24*30:
console.log(Math.floor(c/3600/24)+"天前");
break;
case c>=3600*24*30 && c<3600*24*30*12:
console.log(Math.floor(c/3600/24/30)+"月前");
break;
default:
console.log(Math.floor(c/3600/24/30/12)+"年前");
break;
}
}
var str = friendlyDate(Date.now()-1000*60);
console.log(str);
var str2 = friendlyDate('1483941245793');
console.log(str2);
</script>