问题描述:

Write a function, which takes a non-negative integer (seconds) as input and returns the time in a human-readable format (HH:MM:SS)

  • HH = hours, padded to 2 digits, range: 00 - 99
  • MM = minutes, padded to 2 digits, range: 00 - 59
  • SS = seconds, padded to 2 digits, range: 00 - 59

The maximum time never exceeds 359999 (99:59:59)

You can find some examples in the test fixtures.

我的答案:

 function humanReadable(seconds) {
// TODO
var HH=0;MM=0;SS=0;
if(seconds>359999){return false;}
HH=parseInt(seconds/3600);
MM=parseInt((seconds-HH*3600)/60);
SS=parseInt((seconds-HH*3600)%60);
HH=(HH<10)?"0"+HH:HH;
MM=(MM<10)?"0"+MM:MM;
SS=(SS<10)?"0"+SS:SS;
return (HH+":"+MM+":"+SS).toString();
}

优秀答案:

 function humanReadable(seconds) {
var pad = function(x) { return (x < 10) ? "0"+x : x; }
return pad(parseInt(seconds / (60*60))) + ":" +
pad(parseInt(seconds / 60 % 60)) + ":" +
pad(seconds % 60)
}

js取整取余

http://www.jb51.net/article/50005.htm

方法 含义 结果
parseInt(5/2); 丢弃小数部分,保留整数部分 2
Math.ceil(5/2); 向上取整,有小数就整数部分+1 3
Math.round(5/2); 四舍五入 3
Math.floor(5/2); 向下取整 2

1,转换函数(对String类型有效,否则就是NoN)

parseInt() //把字符串转换成整数    

parseInt("123blue"); //return 123

parseInt("22.5"); //return 22

parseFloat() //把字符串转换成浮点数

parseFloat("1234blue");  //return 1234.0

parseFloat("22.5"); //return 22.5

2,强制类型转换

Boolean(value)----把给定的值转换成Boolean型

当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。

Number(value)----把给定的值转换成数字(可以是整数或浮点数)

String(value) ----把给定的值转成字符串

3,js的弱类型转换(只进行算术运算,实现了字符串到数字的类型转换)

var str="012.345";

x=x*1;   // return 数字12.345

4,其他常用的Math对象的方法

Math.abs(-1);  // 1

Math.log(1);  以e为底的对数,0

Math.max(1,2,3);  //3

Math.min(1,23);  //1

Math.random();  //返回0~1之间的随机数

Math.pow(2,3);  //2的3次方为8

2的3次方: 2**3;

2的5次方: 2**5;

Math.sqrt(9,3); //8的平方根 为2

codewars--js--Human Readable Time—Math对象,parseInt()的更多相关文章

  1. js入门篇之Math对象

    Math对象用于执行数学任务 Math对象的属性: Math对象的方法: 常用属性和方法: Math.PI ----------------返回圆周率3.14 ... Math.ceil(x) --- ...

  2. js中的函数,Date对象,Math对象和数组对象

    函数就是完成某个功能的一组语句,js中的函数由关键字 function + 函数名 + 一组参数定义;函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织结构更多清晰. ...

  3. js中Math对象常用的属性和方法

    1 Math对象 1.1定义:Math是js的一个内置对象,它提供了一些数学方法. 1.2特性:不能用构造函数的方式创建,无法初始化,只有静态属性和方法 1.3静态属性 1.3.1 Math.PI 圆 ...

  4. JavaScript (六) js的基本语法 - - - Math 及 Date对象、String对象、Array对象

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.Math 1.Math对象的案例 var result= Math.max(10,20,30,40) ...

  5. #9.6课堂JS总结#变量作用域 date()对象 math()对象

    一.变量的作用域 1.JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; ...

  6. JS学习笔记10之Math对象

    -->Math对象 常用属性和方法-->使用Math对象制作相应的效果 Math对象用于执行数学任务 一.Math对象的属性: 二.Math对象的方法: 三.常用属性和方法: Math.P ...

  7. 原生JS:Math对象详解

    Math对象 本文参考MDN做的详细整理,方便大家参考MDN Math 也是一个内置对象, 为数学常量和数学函数提供了属性和方法,而不是一个函数对象. 与其它全局对象不同的是, Math 不是一个构造 ...

  8. JS Math对象中一些小技巧

    JS中快速获取数组中最大/最小值 var a=[1,2,3,5]; alert(Math.max.apply(Math, a));//最大值 alert(Math.min.apply(Math, a) ...

  9. JavaScript基础14——js的Math对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. 解决谷歌浏览器设置font-family属性不起作用,(css中设置了font-family:没有用)css字体属性没用

    嗯,这个问题百思不得解.其他的浏览器器都没问题,在谷歌上就不行,网上找了很多,都没效果,后才发现,当然同样的问题可能错不一样的地方,我的解决方案: 感觉主要原因是自己也没查到,乱改一堆,就OK啦: 1 ...

  2. python实现数据结构-队列

    注:本文档主要是学习<Python核心编程(第二版)>时的练习题. 队列是一种"先进先出"的数据结构(FIFO),是一种操作受限的线性结构,先进队列的成员先出队列.示意 ...

  3. TryCatchFinallyReturn

    public class TryCatchFinallyReturnTest { public int test(){ try { int i=1; int j=2/i; return 1; }cat ...

  4. airtest启用本地python环境的方法

    实现目标,air如果想引用第三方python库,则需要在本地python欢迎执行运行 1.打开设置,红色箭头处,选择本地python路径 2.安装air的两个核心库airtest和pocoui 安装方 ...

  5. 史上最详细的二叉树、B树,看不懂怨我

    今天我们要说的红黑树就是就是一棵非严格均衡的二叉树,均衡二叉树又是在二叉搜索树的基础上增加了自动维持平衡的性质,插入.搜索.删除的效率都比较高.红黑树也是实现 TreeMap 存储结构的基石. 1.二 ...

  6. Linux 查看磁盘IO并找出占用IO读写很高的进程

    背景-线上告警 线上一台服务器告警,磁盘利用率 disk.util > 90,并持续告警. 登录该服务器后通过 iostat -x 1 10 查看了相关磁盘使用信息.相关截图如下: # 如果没有 ...

  7. Docker深入浅出系列 | Image实战演练

    目录 课程目标 Container与Image核心知识回顾 制作Docker Image的两种方式 Dockerfile常用指令 Image实战篇 通过Dockerfile制作Image 通过Dock ...

  8. Ecplise中指定tomcat里Web项目发布文件

    有时候发布项目时,我们会看到Ecplise会自动把一些并不是我们想需要的文件也发布到服务器上,可以通过以下方式解决: Properties->Deployment Assembly

  9. 如何优雅地打印一个Java对象?

    你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下). 在一个月黑风高的夜晚,我思前想后,觉得再也不能 ...

  10. 谈下程序设计算法的准备心得与体会-nCov隔离也许帮你提升能力

    最近武汉的n-Cov使得大家只能在家办公了. 在家里的感受是什么样的呢? 1.上班的时候一直在奔跑,现在总算可以有集中的时间来思考一些之前一直没能好好整理的内容 2.时间变得自己可以掌控,优先级有自己 ...