美文网首页
进阶任务6 Math数组Data

进阶任务6 Math数组Data

作者: 村里第一帅 | 来源:发表于2017-11-29 15:59 被阅读0次

Math

1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max

function ranDom(min,max){
     return min+floor(random()*(max-min))
} 

2、写一个函数,返回从min都max之间的 随机整数,包括min包括max

function ranDom(min,max){
 return min+floor(random()*(max-min+1))
} 

3、写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。

function ranDom(min,max){
     return min+floor(random()*(max-min))
} 
 function getRandStr(len){
    var dict = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    var str =  ""
    for(var i = 0;i<len; i++){
    str+=dict[random(0,62)]
    }
     return str 
    }
     var str = getRandStr(10); // 0a3iJiRZap

4、写一个函数,生成一个随机 IP 地址,一个合法的 IP 地址为

function ranDom(min,max){
     return min+floor(random()*(max-min))
} 

 0.0.0.0~255.255.255.255

function getRandIP(){
   var arr = []
   for(var i = 0;i < 4;i ++){
     arr.push(random(0,256))
   }
 return arr.join('.')  
var ip = getRandIP()
console.log(ip) // 10.234.121.45

5、写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff

function ranDom(min,max){
   return min+floor(random()*(max-min))
} 

function getRandColor(){
dict = '0123456789abcdef'
var str = ''
for(var i = 0;i<6;i ++){
  str +=dict[random(0,16)]
}
return "#"+str
var color = getRandColor()
console.log(color)   // #3e2f1b

数组

1、数组方法里push、pop、shift、unshift、join、splice分别是什么作用?用 splice函数分别实现push、pop、shift、unshift方法

  • push() 方法可向数组末尾添加一个或多个元素,并返回新的长度。

     var arr = [1,2,3]
     arr.push(4,5,6)
     console.log(arr) // array [1,2,3,4,5,6]
    
  • pop()用于删除并返回数组最后一个元素,原数组长度减一,如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

  • shift()用于删除数组第一个元素并返回被删除元素,改变原数组。如果数组为空数组则返回undefined。

  • unshift()方法可向数组的开头添加一个或更多元素,并返回新的长度。

  • join() 方法用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的。

  • splice(起始索引,删除元素,添加元素)方法向/从数组中添加/删除项目,然后返回被删除的项目。
    注释:该方法会改变原始数组。

2、写一个函数,操作数组,数组中的每一项变为原来的平方,在原数组上操作

  var arr = [2, 4, 6]
  function squareArr(arr){
   for(var i = 0;i<arr.length;I++){
        arr[i] = arr[i] * arr{i]
  }
     return arr  
  squareArr(arr)
  console.log(arr) // [4, 16, 36]

3、写一个函数,操作数组,返回一个新数组,新数组中只包含正数,原数组不变

var arr = [3, -1,  2,  '饥人谷', true]
 function filterPositive(arr){    
       for(var i =0; i<arr.length; i ++){
             if(typeof arr[i] ==="number" && arr[i] > 0) {
              newArr.push(arr[i])
              }                
               return newArr
         }
var newArr = filterPositive(arr)
console.log(newArr) //[3, 2]
console.log(arr) //[3, -1,  2,  '饥人谷', true]

Date日期函数

1. 写一个函数getChIntv,获取从当前时间到指定日期的间隔时间.

答:

<script>
var newYear = new Date('2017-2-08');            
var nowDay = new Date();
function getInterval(start,end) {
    var days = 1000*60*60*24;
    var result = end.getTime() - start.getTime();
    var result2 = Math.ceil(result/days);
    return result2;
}

var demo = getInterval(nowDay,newYear);
console.log(demo);

</script>

2. 写一个函数getChIntv,获取从当前时间到指定日期的间隔时间.

答:写一个函数getChIntv,获取从当前时间到指定日期的间隔时间.

<script>
var newYear = new Date('2017-11-01');           
var nowDay = new Date();
function getInterval(start,end) {
    var days = 1000*60*60*24;
    var hours = 1000*60*60;
    var minutes = 1000*60;
    var seconds = 1000;
    var result = end.getTime() - start.getTime();
    var getDay = Math.floor(result/days);
    var getHours = Math.floor((result/hours)-(getDay*24));
    var getMinutes = Math.floor((result - (getDay*days)-                (getHours*hours))/minutes);
    var getseconds = Math.floor((result - (getDay*days)-(getHours*hours)-               (getMinutes*minutes))/seconds);
    var finalResult = "距离除夕还有:"+getDay+"天"+getHours+"小时"+getMinutes             +"分钟"+getseconds+"秒";
    return finalResult;
}

var demo = getInterval(nowDay,newYear);
console.log(demo);

</script>

3.把hh-mm-dd格式数字日期改成中文日期.

答:这道题,老师请酌情批改,因为我的月前面不能加0,加了就解析不了月份.

<script>
var str='2015-8-30';
var dict = ["零","一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一"];
function getChsDate(str){
    var newStr = str.split('-');
    var year=newStr[0];
    var month=newStr[1];
    var day=newStr[2];
    var result_year = year.split('');
    var result_month = dict[month.split()[0]].split();
    var resutl_day = dict[day.split()[0]].split();
    var result = result_month.concat(resutl_day);
    var year_str=[];
    for(var i = 0;i<result_year.length;i++){
        year_str.push(dict[result_year[i]]);
    }
    var final = year_str.concat(result);
        final.splice(4,0,'年');
        final.splice(6,0,'月');
        final.splice(9,0,'日');
    return final.join('');
}

var demo = getChsDate(str);
console.log(demo);

</script>

4.写一个函数,参数为时间对象毫秒数的字符串格式,返回值为字符串。假设参数为时间对象毫秒数t,根据t的时间分别返回如下字符串:

答:

<script>
function friendlyDate (time) {
    var t = new Date().getTime();
    var c = (t-time)/1000;
    switch(true){
        case c < 60:
        console.log('刚刚');
        break;
        case c >=60 && c<60*60:
        console.log(Math.floor(c/60)+'分钟前');
        break;
        case c>=3600 && c<3600*24:
        console.log(Math.floor(c/3600)+"小时前");
        break;
        case c>=3600*24 && c<3600*24*30:
        console.log(Math.floor(c/3600/24)+"天前");
        break;
        case c>=3600*24*30 && c<3600*24*30*12:
        console.log(Math.floor(c/3600/24/30)+"月前");
        break;
        default:
        console.log(Math.floor(c/3600/24/30/12)+"年前");
        break;
    }
}

var str = friendlyDate(Date.now()-1000*60);
console.log(str);
var str2 = friendlyDate('1483941245793');
console.log(str2);      
</script>

相关文章

  • 进阶任务6 Math数组Data

    Math 1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2、写一个函数,返回从mi...

  • 进阶任务6:Math数组Date

    1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2、写一个函数,返回从min都max...

  • 进阶任务6(主线任务):Math数组Date

    Math任务 1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2、写一个函数,返回从...

  • 进阶任务6(主线任务):Math数组Date

    1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2、写一个函数,返回从min都max...

  • 进阶任务6-Math数组Date

    Math任务 1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2、写一个函数,返回从...

  • 进阶任务6-Math数组Date

    Math任务 1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2、写一个函数,返回从...

  • Math/Data/Array

    关键词:Math对象、Data对象、数组Array 一、Math任务 1. 编写函数,功能:返回从min到max之...

  • 任务21-Math数组Data

    Math任务 1、写一个函数,返回从min到max之间的随机整数,包括min不包括max 2、写一个函数,返回从m...

  • Math数组Data

    Math**1、写一个函数,返回从min到max之间的随机整数,包括min不包括max ** **2、写一个函数,...

  • 进阶6 Math数组Date

    math任务 1. 写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2. 写一个函数,返...

网友评论

      本文标题:进阶任务6 Math数组Data

      本文链接:https://www.haomeiwen.com/subject/xmejjxtx.html