//范围之间的整数,不包括最大数
function numbnatu(min,max){
return Math.floor(Math.random()*(max-min)+min)
}
var a=numbnatu(9,15)
console.log(a)
//范围之间的整数,包括最大数
function numbnatu(min,max){
return Math.floor(Math.random()*(max+1-min)+min)
}
var a=numbnatu(9,15)
console.log(a)
//长度为n的字符串
function random(a,b){
return a + Math.floor(Math.random()*(b-a))
}
function randomStr(len){
var str='0123456789zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP'
var newS=''
for(var i=0; i<len;i++){
newS += str[random(0,62)]
}
return newS
}
randomStr(n)
//随机地址
function random(a,b){
return a + Math.floor(Math.random()*(b-a))
}
function randomIP(){
var newI=[]
for(var i=0; i<4;i++){
newI.push(random(0,256))
}
return newI.join(".")
}
//随机颜色字符串
function random(a,b){
return a + Math.floor(Math.random()*(b-a))
}
function randomcol(){
var newc=''
for( var i=0;i<3;i++){
newc += random(0,256).toString(16)
}
return "#"+newc
}
- push是往数组增加一个index最大元素
- pop是把数组index最大元素删除并返回删除的元素
- shift删除数组index最小元素,并使后面元素index都减一,length也减一,并返回删除元素
- unshift与shift正好相反
- splice方法有三个参数
1.开始索引
2.删除元素的位移
3.插入的新元素,当然也可以写多个
返回一个由删除元素组成的新数组,没有删除则返回空数组
splice模拟
var arr= [5,4,9,3]
arr.splice(arr.length,1)//push
arr.splice(-1,1)//pop
arr.splice(0,1)//shift
arr.splice(0,0,1)//unshift
//平方原数组的每一项
function squareArr(arr){
for(var i=0;i<arr.length;i++){
arr[i]=Math.pow(arr[i],2)
}
}
var arr=[2,4,6]
squareArr(arr)
console.log(arr)
//返回新数组只包含正数
function filterPositive(arr){
var newA=[]
for(var i=0;i<arr.length;i++){
if(arr[i] >0 && typeof arr[i] == "number"){
newA.push(arr[i])
}
}
return newA
}
var arr=[3,-1,2,'饥人谷',true]
var newArr=filterPositive(arr)
console.log(newArr)
console.log(arr)
//当前时间到指定日期时间
function getChIntv(dateStr){
var curDate=new Date()
var targetDate= new Date(dateStr)
var offset=Math.abs(curDate-targetDate)
var totalSeconds=Math.floor(offset/1000)
var second=totalSeconds%60
var totalMinutes=Math.floor(totalSeconds/60)
var minute=totalMinutes%60
var totalHours=Math.floor(totalMinutes/60)
var hour=totalHours%24
var totalDays=Math.floor(totalHours/24)
return '距离指定时间还有'+totalDays+'天'+hour+'小时'+minute+'分钟'+second+'秒'
}
getChIntv('2017-9-28')
//中文日期
function getChsDate(datestr){
var chinese=['零','一','二','三','四','五','六','七','八','九','十','十一','十二','十三','十四','十五','十六','十七','十八','十九','二十','二十一','二十二','二十三','二十四','二十五','二十六','二十七','二十八','二十九','三十','三十一']
var arr=datestr.split('-')
var year=''
var month=''
var day=''
for(var i=0;i<arr[0].length;i++){
year += chinese[arr[0][i]]
}
month= chinese[parseInt(arr[1])]
day = chinese[parseInt(arr[2])]
return year+'年'+month+'月'+day+'日'
}
var str = getChsDate('2015-01-08');
console.log(str);
//n久前
function friendlyDate(time){
var now=Date.now()
if(Math.abs(now-time)<60000){
return "刚刚"
}else if(Math.abs(now-time)<180000 ){
return "三分钟前"
}else if(Math.abs(now-time)<28800000){
return "八小时前"
}else if(Math.abs(now-time)<259200000){
return "三天前"
}else if(Math.abs(now-time)<5184000000){
return "两个月前"
}else if(Math.abs(now-time)<31536000000){
return "一年前"
}
}
var str = friendlyDate( '1484286699422' )
var str2 = friendlyDate('1483941245793')