美文网首页
Math、数组、Date练习

Math、数组、Date练习

作者: 头大如牛 | 来源:发表于2017-12-18 01:07 被阅读0次

Math任务

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

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min)) + min;
}

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

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

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

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min)) + min;
}

function getRandStr(len){
  //补全函数
  var str = '';
  var dict = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ';
  for(var i = 0; i < len; i++) {
    str += dict[getRandomInt(0, 62)];
  }
  return str;
}
var str = getRandStr(10); // 0a3iJiRZap

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

// 声明整数随机数函数
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min)) + min;
}

function getRandIP(){
  //补全
  var arr = [];
  for(var i = 0; i < 4; i++) {
    arr.push(getRandomInt(0, 256));
  }
  return arr.join('.');     //在数组元素之间添加.
}
var ip = getRandIP()
console.log(ip) // 10.234.121.45

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

    //  声明随机整数函数
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min)) + min;
}
    //   声明随机字符串对象
var dict = '0123456789abcdef';
    //   随机颜色函数
function getRandColor(){
    var randomColor = '#';
    for(var i = 0; i < 6; i++) {
        randomColor += dict[getRandomInt(0, 16)];
    }
    return randomColor;
}
var color = getRandColor()
console.log(color)   // #3e2f1b


数组任务

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

push:向数组末尾添加一个或多个元素;

pop:删除并返回数组的最后一个元素;

unshift:向数组开头添加一个或多个元素,并返回新的长度;

shift:删除并返回数组的第一个元素;

join:把所有的数组元素放入一个字符串,通过指定的分隔符进行拼接;
splice:删除数组中的元素,并向数组中添加新的元素;
arr.splice(arr.length,0,'string')  //等同于push
arr.splice(arr.length-1,1)  //等同于pop
arr.splice(0,1)  //等同于shift
arr.splice(0,0,'string')  //等同于unshift

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

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

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

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

Date 任务

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

function getChIntv(value) {
    var targetDate = new Date(value);
    var curDate = new Data();
    var offset = Math.abs(targeDate - curDate);
    var totalSeconds = Math.floor(offset/1000);
    
    var second = Math.abs(offset/1000)%60;
    var totalMinutes = Math.floor(offset/1000/60);
    var minutes = totalMinutes % 60;
    var totalHours = Math.floor(totalMinutes/60);
    var hours = totalHours % 24;
    var totalDays = Math.floor(totalHours/24)
    
    return totalDays = '天'  + hours + '小时' + minutes + '分' + second + '秒';
}
var str = getChIntv("2017-02-08");
console.log(str);  // 距除夕还有 20 天 15 小时 20 分 10 秒

2、把hh-mm-dd格式数字日期改成中文日期


2、把hh-mm-dd格式数字日期改成中文日期
function getChsDate(value) {
  var dict = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
  var arr = value.split('-');
  var year = '';
  var month = '';
  var day = '';
  var string = '';
  Array.prototype.forEach.call(arr[0], function(x) {
    year += dict[x];
  });
  Array.prototype.forEach.call(arr[1], function(x, i) {
    if (x === 0 && i === 0) {
      month += '';
    }
    if (x === 1 && i === 0) {
      month += '十';
    } else if (x !== 0 && i !== 0) {
      month += dict[x];
    }
  });
  Array.prototype.forEach.call(arr[2], function(x, i) {
    if (x === 0 && i === 0) {
    }else if (x === 1 && i === 0) {
      day += '十';
    }else if (x === 2 && i === 0) {
      day += '二十';
    }else if (x === 3 && i === 0) {
      day += '三十';
    } else if (x !== 0 && i !== 0) {
      day += dict[x];
    }
  });
   return string = year + '年' + month + '月' + day + '日';
}
var str = getChsDate('2015-01-08');
console.log(str);  // 二零一五年一月八日

3、写一个函数,参数为时间对象毫秒数的字符串格式,返回值为字符串。假设参数为时间对象毫秒数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 timeDiff = new Date().getTime() - time;
      var min=timeDiff/(1000*60);
      var hour=timeDiff/(1000*60*60);
      var day=timeDiff/(1000*60*60*24);
      var month=timeDiff/(1000*60*60*24*30);
      var year=timeDiff/(1000*60*60*24*30*12);
      if(min > 0 && min < 1){
        return "刚刚";
      }else if(min >= 1 && hour < 1){
          return '三分钟前';
      }else if(hour >= 1 && hour < 24){
          return '8小时前';
      }else if(hour >= 24 && day < 30){
          return '三天前';
      }else if (day >= 30 && month < 12){
          return '2个月前';
      }else if (year >= 1){
          return '8年前';
      }
}
var str = friendlyDate( '1484286699422' ) //  1分钟前
var str2 = friendlyDate('1483941245793') //4天前

相关文章

  • Math、数组、Date练习

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

  • JavaScript-对象

    Number 字符串 数组 Date日期 Math

  • Math数组,date

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

  • Math,Date,数组

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

  • Math数组Date

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

  • Math数组Date

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

  • Math 数组 Date

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

  • Math数组Date

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

  • Math数组Date

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

  • Math数组Date

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

网友评论

      本文标题:Math、数组、Date练习

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