寫(xiě)一個(gè)函數(shù)把夸,返回從min到max之間的 隨機(jī)整數(shù),包括min不包括max
function getRandomInt(min, max){
return Math.floor(Math.random( ) * (max - min)) + min
}
寫(xiě)一個(gè)函數(shù)铭污,返回從min都max之間的 隨機(jī)整數(shù)恋日,包括min包括max
function getRandomInt(min, max){
return Math.floor(Math.random( ) * (max + 1 - min)) + min
}
寫(xiě)一個(gè)函數(shù),生成一個(gè)長(zhǎng)度為 n 的隨機(jī)字符串嘹狞,字符串字符的取值范圍包括0到9谚鄙,a到 z,A到Z刁绒。
function getRandomInt(min, max){
return Math.floor(Math.random( ) * (max - min)) + min
}
function randomStr(len) {
var str = ' '
var dict = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
for(var i = 0; i < len; i++){
str += dict[getRandomInt(0,62)]
}
return str
}
寫(xiě)一個(gè)函數(shù)闷营,生成一個(gè)隨機(jī) IP 地址,一個(gè)合法的 IP 地址為 0.0.0.0~255.255.255.255
function getRandomInt(min, max){
return Math.floor(Math.random( ) * (max - min)) +min
}
function randomIp( ){
var arr = [ ]
for(var i = 0; i < 4; i++){
arr.push(getRandomInt(0, 256))
}
return arr.join('.')
}
寫(xiě)一個(gè)函數(shù),生成一個(gè)隨機(jī)顏色字符串傻盟,合法的顏色為#000000~ #ffffff
function getRandomInt(min, max){
return Math.floor(Math.random( ) * (max - min)) + min
}
function randomStr(len) {
var str = ''
var dict = '0123456789abcdef'
for(var i = 0; i < len; i++) {
str += dict[getRandomInt(0, 16)]
}
return "#"+str
}
數(shù)組方法里push速蕊、pop、shift娘赴、unshift规哲、join、splice分別是什么作用诽表?用 splice函數(shù)分別實(shí)現(xiàn)push唉锌、pop、shift竿奏、unshift方法
push:方法用于在數(shù)組的末端添加一個(gè)或多個(gè)元素袄简,并返回添加新元素后的數(shù)組長(zhǎng)度。該方法會(huì)改變?cè)瓟?shù)組
pop:方法用于刪除數(shù)組的最后一個(gè)元素泛啸,并返回該元素绿语。該方法會(huì)改變?cè)瓟?shù)組。
shift:方法用于刪除數(shù)組的第一個(gè)元素候址,并返回該元素吕粹。該方法會(huì)改變?cè)瓟?shù)組。
unshift:方法用于在數(shù)組的第一個(gè)位置添加元素岗仑,并返回添加新元素后的數(shù)組長(zhǎng)度匹耕。該方法會(huì)改變?cè)瓟?shù)組。
join:方法以參數(shù)作為分隔符荠雕,將所有數(shù)組成員組成一個(gè)字符串返回泌神。如果不提供參數(shù),默認(rèn)用逗號(hào)分隔舞虱。
splice:方法用于刪除原數(shù)組的一部分成員欢际,并可以在被刪除的位置添加入新的數(shù)組成員,返回值是被刪除的元素矾兜。該方法會(huì)改變?cè)瓟?shù)組损趋。的第一個(gè)參數(shù)是刪除的起始位置,第二個(gè)參數(shù)是被刪除的元素個(gè)數(shù)椅寺。如果后面還有更多的參數(shù)浑槽,則表示這些就是要被插入數(shù)組的新元素。
push:arr.splice(arr.length, 0, x)
pop:arr.splice(arr.length-1, 1)
shift:arr.splice(0, 1)
unshift:arr.splice(0, 0, x)
寫(xiě)一個(gè)函數(shù)返帕,操作數(shù)組桐玻,數(shù)組中的每一項(xiàng)變?yōu)樵瓉?lái)的平方,在原數(shù)組上操作
function squareArr(arr){
for(var i = 0; i < arr.length; i++){
arr.splice(i, 1, Math.pow(arr[i], 2))
}
return arr
}
var arr = [1, 2, 3]
寫(xiě)一個(gè)函數(shù)荆萤,操作數(shù)組镊靴,返回一個(gè)新數(shù)組铣卡,新數(shù)組中只包含正數(shù),原數(shù)組不變
function filterPositive(arr) {
var newArr = []
for(var i = 0; i < arr.length; i++) {
if(typeof arr[i] === "number") {
if(arr[i] > 0) {
newArr.push(arr[i]);
}
}
}
return newArr
}
var arr = [3, -1, 2, '饑人谷', true]
寫(xiě)一個(gè)函數(shù)getChIntv偏竟,獲取從當(dāng)前時(shí)間到指定日期的間隔時(shí)間
function getChlntv(dateStr){
var targetDate=new Date(dateStr)
var curDate=new Date()
var offset=Math.abs(targetDate - curDate)
var days=Math.floor((((offset/1000)/24)/60)/60)
var hours=Math.floor((((offset/1000)/60)/60)%24)
var minutes=Math.floor(((offset/1000)/60)%60)
var seconds=Math.floor((offset/1000)%60)
return days+'天'+hours+'小時(shí)'+minutes+'分'+seconds+'秒'
}
把hh-mm-dd格式數(shù)字日期改成中文日期
function getChsDate(dateStr) {
var str = dateStr.split('-')
var str1 = ['零','一','二','三','四','五','六','七','八','九','十','十一','十二','十三','十四','十五','十六','十七','十八','十九','二十','二十一','二十二','二十三','二十四','二十五','二十六','二十七','二十八','二十九','三十','三十一']
var month = str1[parseInt(str[1])]
var day = str1[parseInt(str[2])]
var year = ''
for(var i = 0; i < str[0].length; i++) {
year += str1[str[0][i]]
}
return year+'年'+month+'月'+day+'日'
}
寫(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 current = new Date()
var nowTime = current.getTime()
var offsetMinutes = Math.floor((nowTime - time)/1000/60)
var offsetTime
if(offsetMinutes < 1){
offsetTime = '剛剛'
}else if(offsetMinutes < 60){
offsetTime = offsetMinutes + '分鐘前'
}else if(offsetMinutes < 1440){
offsetTime = Math.floor(offsetMinutes/60) + '小時(shí)前'
}else if(offsetMinutes < 43200){
offsetTime = Math.floor(offsetMinutes/60/24) + '天前'
}else if(offsetMinutes < 518400){
offsetTime = Math.floor(offsetMinutes/60/24/30) + '個(gè)月前'
}else{
offsetTime = Math.floor(offsetMinutes/60/24/30/12) + '年前'
}
console.log(offsetTime)
return offsetTime
}