1、寫一個函數,返回從min到max之間的 隨機整數,包括min不包括max
function random(min,max) {
return Math.floor(Math.random()*(max - min) + min);
}
2、寫一個函數,返回從min都max之間的 隨機整數,包括min包括max
function random(min,max) {
return Math.floor(Math.random()*(max - min +1) + min);
}
3、寫一個函數,生成一個長度為 n 的隨機字符串,字符串字符的取值范圍包括0到9,a到 z,A到Z。
function getRandStr(len){
//補全函數
}
var str = getRandStr(10); // 0a3iJiRZap
function getRandStr(len){
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']
var sub ="";
for(i = 0; i < len; i++){
var x = Math.floor(Math.random()*62 );
sub += dict[x];
}
return sub;
}
getRandStr(10); // 0a3iJiRZap
4、寫一個函數,生成一個隨機 IP 地址,一個合法的 IP 地址為 0.0.0.0~255.255.255.255
function getRandIP(){
//補全
}
var ip = getRandIP()
console.log(ip) // 10.234.121.45
//寫一個函數,生成一個隨機 IP 地址,一個合法的 IP 地址為 0.0.0.0~255.255.255.255
function getRandIP(){
var arr = [];
for(i = 0; i < 4; i++){
arr.push(Math.floor(Math.random()*256));
}
return arr.join(".");
}
var ip = getRandIP()
console.log(ip) // 10.234.121.45
- 寫一個函數,生成一個隨機顏色字符串,合法的顏色為#000000~ #ffffff.
function getRandColor(){
var dict = "0123456789abcdef"
var y = "";
for(i = 0;i < 6; i++){
var x = Math.floor(Math.random()*16);
y += dict[x];
}
return y;
}
var color = getRandColor();
console.log(color); // #3e2f1b
數組任務
- 數組方法里push、pop、shift、unshift、join、splice分別是什么作用?用 splice函數分別實現push、pop、shift、unshift方法
push()方法可以接收任意數量的參數,把它們逐個添加到數組末尾,并返回修改后數組的長度。
pop()方法從數組末尾移除最后一項,減少數組length值,然后返回移除的項。
shift()方法移除數組中的第一個項并返回該項,同時將數組長度減1.
unshift()方法能在數組添加任意個項并返回新數組的長度。
join()方法只接受一個參數,即用作分隔符的字符串,然后返回包含所有數組項的字符串。
splice()
刪除:可以刪除任意數量的項,只需指定2個參數:要刪除的第一項的位置和要刪除的項數。例如,splice(0,2)會刪除數組中的前兩項。
插入:可以向指定的位置插入任意數量的項, 只需提供3個參數:起始位置、0(要刪除的項數)和要插入的項。如果要插入多個項,可以再傳入第四、第五,以致任意多個項。例如,splice(2,0,"red","green")會從當前數組的位置2開始插入字符串"red"和"green".
替換:可以向指定位置插入任意數量的項,且同時刪除任意數量的項,只需指定3個參數:起始位置、要刪除的項數和要插入的任意數量的項。插入的項數不必與刪除的項數相等。例如,splice(2,1,"red","green")會刪除當前數組位置2的項,然后再從位置2開始插入字符串"red"和"green"。
splice()方法始終都會返回一個數組,該數組包含從原始數組中刪除的項(如果沒有刪除任何項,則返回一個空數組) - 寫一個函數,操作數組,數組中的每一項變?yōu)樵瓉淼钠椒剑谠瓟到M上操作
function squareArr(arr){
}
var arr = [2, 4, 6]
squareArr(arr)
console.log(arr) // [4, 16, 36]
function squareArr(arr){
var result;
for(i = 0; i < arr.length; i++){
result = arr[i]*arr[i];
arr.splice(i,1,result);
}
return arr;
}
var arr = [2, 4, 6]
squareArr(arr)
console.log(arr) // [4, 16, 36]
- 寫一個函數,操作數組,返回一個新數組,新數組中只包含正數,原數組不變
function filterPositive(arr){
}
var arr = [3, -1, 2, '饑人谷', true]
var newArr = filterPositive(arr)
console.log(newArr) //[3, 2]
console.log(arr) //[3, -1, 2, '饑人谷', true]
function filterPositive(arr){
var newArr1 = [];
for(i = 0;i < arr.length; i++){
if(arr[i] > 0&& arr[i]!== true){
newArr1.push(arr[i]);
}
}
return newArr1;
}
var arr = [3, -1, 2, '饑人谷', true]
var newArr = filterPositive(arr);
console.log(newArr);//[3, 2]
console.log(arr); //[3, -1, 2, '饑人谷', true]
Date 任務
- 寫一個函數getChIntv,獲取從當前時間到指定日期的間隔時間
var str = getChIntv("2017-02-08");
console.log(str); // 距除夕還有 20 天 15 小時 20 分 10 秒
function getChIntv(str1){
var time = Math.abs(Date.parse(str1)-Date.now());
var day;
var hour;
var sec;
var min;
day = Math.floor(time/(1000*24*60*60));
hour = Math.floor(time/(1000*60*60)%24);
min = Math.floor(time/(1000*60)%60);
sec = Math.floor(time/(1000)%60);
return "距"+str1+"還有"+day+"天"+hour+"小時"+min+"分"+sec+"秒"
}
var str = getChIntv("2017-02-08");
console.log(str); // 距除夕還有 20 天 15 小時 20 分 10 秒
- 把hh-mm-dd格式數字日期改成中文日期
var str = getChsDate('2015-01-08');
console.log(str); // 二零一五年一月八日
- 寫一個函數,參數為時間對象毫秒數的字符串格式,返回值為字符串。假設參數為時間對象毫秒數t,根據t的時間分別返回如下字符串:
剛剛( t 距當前時間不到1分鐘時間間隔)
3分鐘前 (t距當前時間大于等于1分鐘,小于1小時)
8小時前 (t 距離當前時間大于等于1小時,小于24小時)
3天前 (t 距離當
前時間大于等于24小時,小于30天)
2個月前 (t 距離當前時間大于等于30天小于12個月)
8年前 (t 距離當前時間大于等于12個月)
function friendlyDate(time){
}
var str = friendlyDate( '1484286699422' ) // 1分鐘前
var str2 = friendlyDate('1483941245793') //4天前