1羽峰、寫(xiě)一個(gè)函數(shù),返回從min到max之間的 隨機(jī)整數(shù)添瓷,包括min不包括max
function getRandom(min,max){
if(typeof min=="number"&& typeof max=="number"){
return min+Math.floor(Math.random()*(max-min));
}else{
alert("error");
}
}
console.log(getRandom(1,12)) // 1~11
2梅屉、寫(xiě)一個(gè)函數(shù),返回從min都max之間的 隨機(jī)整數(shù)鳞贷,包括min包括max
function getRandom(min,max){
if(typeof min=="number"&& typeof max=="number"){
return min+Math.floor(Math.random()*(max-min+1));
}else{
alert("error");
}
}
console.log(getRandom(1,12)) // 1~12
3坯汤、寫(xiě)一個(gè)函數(shù),生成一個(gè)長(zhǎng)度為 n 的隨機(jī)字符串搀愧,字符串字符的取值范圍包括0到9惰聂,a到 z,A到Z咱筛。
function getRandStr(len){
var dico = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
var str ="";
for(var i=0;i<len;i++){
var ran = Math.floor(Math.random()*dico.length);
str+=dico[ran];
}
return str;
}
var str = getRandStr(10);
console.log(str) // 0a3iJiRZap
4搓幌、寫(xiě)一個(gè)函數(shù),生成一個(gè)隨機(jī) IP 地址眷蚓,一個(gè)合法的 IP 地址為 0.0.0.0~255.255.255.255
function getRandIP(){
var str="";
for(var i=0;i<4;i++){
str += Math.floor(Math.random()*(256))+".";
}
str = str.split("");
str.pop();
str = str.join("");
return str
}
var ip = getRandIP()
console.log(ip) // 10.234.121.45
5鼻种、寫(xiě)一個(gè)函數(shù),生成一個(gè)隨機(jī)顏色字符串沙热,合法的顏色為#000000~ #ffffff
function getRandColor(){
var dico = "0123456789abcdef"
var str ="#";
for(var i=0;i<6;i++){
var ran = Math.floor(Math.random()*16);
str+=dico[ran];
}
return str;
}
var color = getRandColor()
console.log(color) // #3e2f1b
數(shù)組任務(wù)
1叉钥、數(shù)組方法里push罢缸、pop、shift投队、unshift枫疆、join、splice分別是什么作用敷鸦?用 splice函數(shù)分別實(shí)現(xiàn)push息楔、pop、shift扒披、unshift方法
push:向數(shù)組中的尾部增加一個(gè)元素
pop:從數(shù)組中的尾部刪除一個(gè)元素
shift:向數(shù)組中的頭部刪除一個(gè)元素
unshift:向數(shù)組中的頭部增加一個(gè)元素
join:作用是把數(shù)組元素(對(duì)象調(diào)用其toString()方法)使用參數(shù)作為連接符連接成一字符串值依,不會(huì)修改原數(shù)組內(nèi)容
splice:用于一次性解決數(shù)組添加、刪除(這兩種方法一結(jié)合就可以達(dá)到替換效果)碟案,方法有三個(gè)參數(shù)
1.開(kāi)始索引
2.刪除元素的數(shù)目
3.插入的新元素愿险,可以寫(xiě)多個(gè)
function setArr(){
var arr =[11,22,33];
this.getArr = function(){
return arr ;
}
this.push = function(item){
arr.splice(arr.length,0,item);
return arr ;
}
this.pop = function(){
arr.splice(arr.length-1,1);
return arr ;
}
this.unshift = function(item){
arr.splice(0,0,item);
return arr ;
}
this.shift = function(){
arr.splice(0,1);
return arr ;
}
}
var pp = new setArr;
console.log(pp.push("push")) // [11,22,33,"push"]
console.log(pp.unshift("unshift")) // ["unshift",11,22,33,"push"]
console.log(pp.shift()) // [11,22,33,"push"]
console.log(pp.pop()) // [11,22,33]
2、寫(xiě)一個(gè)函數(shù)价说,操作數(shù)組辆亏,數(shù)組中的每一項(xiàng)變?yōu)樵瓉?lái)的平方,在原數(shù)組上操作
function squareArr(arr){
if(!Array.isArray(arr)){
return ;
}else{
arr.forEach(function(item,index,arr){
arr[index] = Math.pow(item,2);
})
}
}
var arr = [2, 4, 6]
squareArr(arr)
console.log(arr) // [4, 16, 36]
3鳖目、寫(xiě)一個(gè)函數(shù)扮叨,操作數(shù)組,返回一個(gè)新數(shù)組领迈,新數(shù)組中只包含正數(shù)彻磁,原數(shù)組不變
function filterPositive(arr){
if(!Array.isArray(arr)){
return ;
}else{
var newArr = arr.filter(function(item){
return item>0&&typeof item=="number";
})
return newArr ;
}
}
var arr = [3, -1, 2, '饑人谷', true]
var newArr = filterPositive(arr)
console.log(newArr) //[3, 2]
console.log(arr) //[3, -1, 2, '饑人谷', true]
Date 任務(wù)
1、 寫(xiě)一個(gè)函數(shù)getChIntv狸捅,獲取從當(dāng)前時(shí)間到指定日期的間隔時(shí)間
var str = getChIntv("2017-10-01");
function getChIntv(time){
var tagTime = new Date(time).getTime() - 8*60*60*1000;
var nowTime = Date.now();
var days = Math.floor((tagTime - nowTime)/(1000*60*60*24));
var hours = Math.floor(((tagTime - nowTime)%(1000*60*60*24))/(1000*60*60));
var minutes = Math.floor(((tagTime - nowTime)%(1000*60*60))/(1000*60));
var seconds = Math.floor(((tagTime - nowTime)%(1000*60))/(1000));
var str = "距國(guó)慶還有 "+days+" 天 "+hours+" 小時(shí) "+minutes+" 分 "+seconds+" 秒 ";
return str;
}
console.log(str); // 距國(guó)慶還有 121 天 22 小時(shí) 40 分 17 秒
2兵迅、把hh-mm-dd格式數(shù)字日期改成中文日期
var str = getChsDate('2015-01-08');
function getChsDate(time){
var dico = {
"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 = time.split("-");
var str = "";
for(var i=0;i<4;i++){
str+=dico[arr[0][i]];
}
str+="年"+dico[arr[1]*1]+"月"+dico[arr[2]*1]+"日";
return str;
}
console.log(str); // 二零一五年一月八日
3、寫(xiě)一個(gè)函數(shù)薪贫,參數(shù)為時(shí)間對(duì)象毫秒數(shù)的字符串格式恍箭,返回值為字符串。假設(shè)參數(shù)為時(shí)間對(duì)象毫秒數(shù)t瞧省,根據(jù)t的時(shí)間分別返回如下字符串:
function friendlyDate(time){
var nowTime = Date.now();
var goTime = nowTime - time*1;
if(goTime<1000*60){
console.log("剛剛");
}else if(goTime<1000*60*60){
console.log(Math.floor(goTime/(1000*60))+"分鐘前");
}else if(goTime<1000*60*60*24){
console.log(Math.floor(goTime/(1000*60*60))+"小時(shí)前");
}else if(goTime<1000*60*60*24*30){
console.log(Math.floor(goTime/(1000*60*60*24))+"天前");
}else if(goTime<1000*60*60*24*365){
console.log(Math.floor(goTime/(1000*60*60*24*30))+"個(gè)月前");
}else{
console.log(Math.floor(goTime/(1000*60*60*24*360))+"年前");
}
}
var str = friendlyDate( '1484286699422' ) // 4個(gè)月前
var str2 = friendlyDate('1493941245793') //27天前