Math数据Date

//范围之间的整数,不包括最大数
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') 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、问答 数组方法里push、pop、shift、unshift、join、split分别是什么作用。(*) 栈方...
    婷楼沐熙阅读 4,288评论 4 1
  • 由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaS...
    2bc5f46e925b阅读 6,128评论 0 16
  • js中数组是比较常用的对象,同时js中的数组也十分的灵活。一. 创建数组的方式 字面量数组 var arr=[1,...
    饥人谷_廖珍阅读 3,635评论 0 2
  • Date对象: Date对象是js提供的日期和时间接口;Date对象有几个静态方法(即直接通过date对象调用的方...
    草鞋弟阅读 3,130评论 0 0
  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 9,691评论 0 6