第22章 JS Math

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

function getRandIP(){
  //补全
}
var ip = getRandIP()
console.log(ip) // 10.234.121.45

我的回答:

function getRandIP(){
    let arr = [];
    for (let i = 0; i < 4; i++) {
        arr.push(Math.floor(Math.random() * 266));
    }
    return arr.join('.');
}
var ip = getRandIP()
console.log(ip)

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

function getRandColor(){
}
var color = getRandColor()
console.log(color)   // #3e2f1b

我的回答:

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

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

我的回答:

function getRandomInt(min, max) {
  result = Math.floor(Math.random() * (max - min + 1)) + min;
  return result;
}
console.log(getRadom(min,max)); 

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

function getRandStr(len){
  //补全函数
}
var str = getRandStr(10); // 0a3iJiRZap

我的回答:

function getRandStr(len){
  var dict = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
  var str ='';
  for (var i=0; i<len; i++) {
    var index = Math.floor(Math.random()*dict.length);
    str += dict[index];
  }
  return str
}
var str = getRandStr(10);
console.log(str);

5. 写一个函数,参数为时间对象毫秒数的字符串格式,返回值为字符串。假设参数为时间对象毫秒数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 str = friendlyDate( '1484286699422' ) //  1分钟前(以当前时间为准)
var str2 = friendlyDate('1483941245793') //4天前(以当前时间为准)

我的回答是:

function friendlyDate(time){
  var d = Date.now()-time;
  switch(true){
    case d<0:
      console.log('在未来');
      break;
    case d>=0&&d<(60*1000):
      console.log('刚刚');
      break;
    case d>=(60*1000)&&d<(60*60*1000):
      console.log('3分钟前');
      break;
    case d>=(60*60*1000)&&d<(24*60*60*1000):
      console.log('8小时前');
      break;
    case d>=(24*60*60*1000)&&d<(30*24*60*60*1000):
      console.log('3天前');
      break;
    case d>=(30*24*60*60*1000)&&d<(12*30*24*60*60*1000):
      console.log('2个月前');
      break;
    case d>=(365*24*60*60*1000):
      console.log('8年前');
      break;
  }
}
var str = friendlyDate( '1556116109419' ) //  刚刚
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,713评论 0 4
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,761评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,382评论 0 10
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,237评论 0 1
  • 烟雨蒙蒙蒙住了双眼 此刻的美好只有用心才能感受 阴霾的过后总是期待着彩虹 这才发现无迹可寻 幻想一场罗曼地邂...
    紫雁博达阅读 313评论 0 0

友情链接更多精彩内容