Web21.Math数组Date
来源:互联网 发布:2017单片机前景 编辑:程序博客网 时间:2024/05/22 03:52
Math任务
1.写一个函数,返回从min到max之间的随机整数,包括min不包括max
function getRandomNum1(min, max){ return Math.floor( Math.random() * (max - min)) + min;}
2.写一个函数,返回从min到max之间的随机整数,包括min包括max
function getRandomNum2(min, max){ return Math.floor( Math.random() * (max - min + 1)) + min;}
3.写一个函数,生成一个长度为n的随机字符串,字符串字符的取值范围包括0到9,a到z,A到Z
function getRandStr(len){ var dict = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; str = ''; for( var i = 0; i < len; i++){ str += dict[Math.floor(Math.random() *62)]; } return str;}
4.写一个函数,生成一个随机IP地址,一个合法的IP地址为 0.0.0.0~255.255.255.255
function getRandIP(){ var str = ''; for( var i = 0; i< 4; i++){ str += Math.floor(Math.random() *256)+ '.'; } str = str.substr(0, str.length-1); return str;}
5.写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~#ffffff
function getRandColor(){ var dict = "0123456789abcdef"; str = ''; for(var i = 0; i < 6; i++){ str += dict[Math.floor(Math.random() * 16)]; } str1 = "#" + str; return str1; }
数组任务
1.数组方法里push pop shift unshift join splice分别是什么作用? 用splice函数分别
实现push pop shift unshift方法
push: 末尾添加一个或者多个元素 数组长度+n
pop: 取出末尾的一个元素, 数组长度-1
shift:删除数组的首位的元素,数组长度-1
unshift:首位加上一个或多个元素 数组长度+n
join:把数组元素使用参数作为连接符,连成一个字符串
splice:数组的替换操作
push:
var arr = [1,2,3,4]arr.splice(arr.length,0,5,6)console.log(arr)//[1,2,3,4,5,6]
pop:
var arr = [1,2,3,4]arr.splice(arr.length-1,1);console.log(arr)// [1,2,3]
shift:
var arr = [1,2,3,4]arr.splice(0,1)console.log(arr) // [2,3,4]
unshift:
var arr = [1,2,3,4]arr.splice(0,1,6)console.log(arr) //[6,1,2,3,4]
2.写一个函数,操作数组,数组中的每一项变为原来的平方,在原数组上操作
function squareArr(arr){ for(var i = 0; i < arr.length; i++){ arr[i] = arr[i] * arr[i] } return arr}
3.写一个函数,操作数组,返回一个新数组,新数组中只包含正数,原数组不变
function filterPositive(arr){ var newArr = [] var k = 0; for(var i = 0; i < arr.length; i++){ if(typeof arr[i] == "number"&&arr[i]>0){ newArr[k] = arr[i] k++ } } return newArr}
Date任务
1.写一个函数getChIntv, 获取从当前时间到指定日期的时间间隔
function getChIntv(dateStr){
var targetDate = new Date(dateStr)
var curDate = new Date()
var offset = Math.abs(targetDate - curDate)
var totalSeconds =Math.floor(offset/1000)
var second = (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 + '分钟' + secode + '秒'
}
function getChIntv(str){ var targetDate = new Date(str) var curDate = new Date() var offset = Math.abs(targetDate - curDate) var days = parseInt(offset/24*60*60*1000) var hours = parseInt(offset%(24*60*60*1000)/(60*60*1000)) var minutes = parseInt(offset%(24*60*60*1000)%(60*60*1000)/(60*1000)) var seconds = parseInt(offset%(24*60*60*1000)%(60*60*1000)%(60*1000)/1000) var str = "距除夕还有" + days + "天" + hours + "小时" + minutes + "分" + seconds + "秒" return str;}
2.把hh-mm-dd格式数字日期改成中文日期
function getChsDate(str){ var s1 = "零,一,二,三,四,五,六,七,八,九,十,十一,十二,十三,十四,十五,十六,十七,十八,十九,二十,二十一,二十二,二十三,二十四,二十五,二十六,二十七,二十八,二十九,三十,三十一" var dict = s1.split(',') var newStr = str.split('-') var years = '' var year = newStr[0] for(var i = 0; i < 4; i++){ years += dict[parseInt(year[i])] } var month = dict[parseInt(newStr[1])] var days = dict[parseInt(newStr[2])] return years + "年" + month + "月"+ days + "日" }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 curtime = new Date() var offset = (curtime - time)/1000/60; if(offset<1){ return 'just now' }else if(offset<60){ return '1 min ago' }else if(offset<60*24){ return Math.floor(offset/60) +'hours ago' }else if(offset<60*24*30){ return Math.floor(offset/60/24) + 'days ago' }else if(offset<60*24*30*12){ return Math.floor(offset/60/24/30) + 'month ago' }else{ return Math.floor(offset/60/24/30/12) + 'yeas ago' }}
- Web21.Math数组Date
- Math数组Date
- 01-20-2015-js数组、函数、Math、Date
- java 封装 Math Date
- Date类和Math
- Math类、Date、SimpleDateFormat
- System,Runtime,Date,Math
- Date Math对象
- Math,Date.Numbr
- Math、Date对象
- JavaScript中Date,Math,Global,Number等对象的浅析,Array数组对象的解析
- JavaScript中的Date日期、String字符串、Array数组、Math提供对数据的数学计算
- JS内置对象-String对象、Date日期对象、Array数组对象、Math对象
- System、Runtime、Date、Calendar、Math
- System、Runtime、Math、Date、Calendar
- javascript——Math、Date
- JavaScript Math和Date对象
- JavaScript Math和Date对象
- 如何使用java正则表达式去除掉字符串前面的空格
- java 获得 某文件夹 里的所有 文件夹名。如果是根目录,就获得硬盘盘符
- 新版MT4基础架构函数
- archlinux客户端配置终端和firefox的privoxy+ss代理
- Python学习之高级函数详解
- Web21.Math数组Date
- 关于php 中spl_autoload_register的一些补充
- hdoj 1029 Ignatius and the Princess IV
- CREATE TABLE 语句
- Python机器学习笔记——无监督学习
- ILRuntime第三课Delegate
- 普元 EOS Platform 7.5 将逻辑流封装为webservice,wsdl文件上右键,生成客户端代码,提示:选择的wsdl文件中没有服务信息
- Android NDK: From Elementary to Expert Episode 22
- dynamic_cast的一些疑问