TS常用属性和方法
数学对象/算术对象:用于算术运算
属性:
圆周率
console.log(`圆周率:${Math.PI}`);
返回自然对数的底数
console.log(`返回自然对数的底数:${Math.E}`);
返回2的自然对数
console.log(`返回2的自然对数:${Math.LN2}`);
返回10的自然对数
console.log(`返回10的自然对数:${Math.LN10}`);
返回以2为底的e的对数
console.log(`返回以2为底的e的对数:${Math.LOG2E}`);
返回以10为底的e的对数
console.log(`返回以10为底的e的对数:${Math.LOG10E}`);
返回2的平方根的倒数
console.log(`返回2的平方根的倒数:${Math.SQRT1_2}`);
返回2的平方根
console.log(`返回2的平方根:${Math.SQRT2}`);
方法:
绝对值
console.log(`绝对值:${Math.abs(-12.3)}`);
点的弧度
console.log(`点的弧度:${Math.atan2(30,40)}`);
对数进行上舍入
console.log(`对数进行上舍入:${Math.ceil(12.3)}`);
console.log(`对数进行上舍入:${Math.ceil(-12.3)}`);
对数进行下舍入
console.log(`对数进行下舍入:${Math.floor(12.3)}`);
console.log(`对数进行下舍入:${Math.floor(-12.3)}`);
两个数的最大值
console.log(`两个数的最大值:${Math.max(123,234)}`);
两个数的最小值
console.log(`两个数的最小值:${Math.min(123,234)}`);
返回x的y次幂
console.log(`返回x的y次幂:${Math.pow(2,3)}`);
随机数
console.log(`0~1的随机数:${Math.random()}`);
// 1~3的随机数 Math.random()*(最大值-最小值+1)+最小值
let num=Math.random()*(3-1+1)+1
console.log(parseInt(`${num}`))
console.log(`平方根:${Math.sqrt(9)}`);
// NaN 非数字
console.log(parseInt('asdf'));
// 保留n位小数 toFixed(n)
console.log(1234.567.toFixed(2));
日期
当前日期
let now:Date=new Date();
console.log(now);
号
console.log(`号:${now.getDate()}`);
月
console.log(`月:${now.getMonth()}`);
年
console.log(`年:${now.getFullYear()}`);
console.log(`年:${now.getUTCFullYear()}`);
时
console.log(`时:${now.getHours()}`);
分
console.log(`分:${now.getMinutes()}`);
秒
console.log(`秒:${now.getSeconds()}`);
毫秒
console.log(`毫秒:${now.getMilliseconds()}`);
1970.1.1至今的毫秒数
console.log(`1970.1.1至今的毫秒数:${now.getTime()}`);
设置毫秒数
now.setTime(now.getTime()+30*24*60*60*1000)
console.log(`${now.getFullYear()}年${now.getMonth()+1}月${now.getDate()}日`);
string类型
let str1: string = 'hello word!'
字符长度
console.log(`字符长度:${str1.length}`);
返回指定位置的字符
console.log(`返回指定位置的字符:${str1.charAt(1)}`);
返回在指定位置的字符的Unicode编码
console.log(`返回在指定位置的字符的Unicode编码:${str1.charCodeAt(1)}`)
从字符编码创建一个字符串
console.log(`从字符编码创建一个字符串:${String.fromCharCode(97, 98, 99)}`);
连接新字符串
console.log('连接新字符串:' + str1.concat('你好'));
console.log(str1);
检索字符串
console.log(`检索字符串:${str1.indexOf('o')}`);
从后向前搜索字符串
console.log(`从后向前搜索字符串:${str1.lastIndexOf('o')}`);
根据本地规则排序
let strs: string[] = ['张三', '李四', '王五']
strs.sort((a, b) => { return a.localeCompare(b) })
console.log(strs);
替换字符
console.log(`${str1}替换字符:${str1.replace('word', '世界')}`);
提取字符串
console.log(`提取字符串:${str1.slice(3)},${str1.slice(3, 6)}`);
拆分字符串
strs = str1.split('')
console.log(strs);
从开始的索引提取n个字符
console.log(`从开始的索引提取n个字符:${str1.substr(3, 6)}`);
两个下标之间的字符
console.log(`两个下标之间的字符:${str1.substring(3, 7)}`);
转大写
console.log(`转大写:${str1.toLocaleUpperCase()}`);
示例:
有很多邮箱,需要获取每一个邮箱的域名
let emails: string[] = ['123@qq.com', 'asd@sina.cn']
for (let i in emails) {
let email:string=emails[i]
let ind:number=email.lastIndexOf('.')//获取点的下标
let ym:string=email.substring(ind+1)
console.log(`${email}的域名:${ym}`);
}
把所有的0替换为o 把O—>o
let pwds: string[] = ['12300', '1230O', 'asdOO']
for(let i in pwds){
pwds[i]=pwds[i].replace(/0/g,'o').replace(/O/g,'o')
}
console.log(pwds);
根据身份证号,获取用户出生年月日
let cardNum:string='123456200809091234'
let year:string=cardNum.substring(6,10)
let month:string=cardNum.substring(10,12)
let day:string=cardNum.substring(12,14)
console.log(`${year}年${month}月${day}日`);
根据身份证号,获取用户年龄
// 获取当前时间
let nows:Date=new Date()
let y=nows.getFullYear()
let m=nows.getMonth()+1
let d=nows.getDate()
console.log(`${y}/${m}/${d}`);
let s=y-parseInt(year)//虚岁
if((m>parseInt(month))||(m==parseInt(month)&&d<parseInt(day))){
s-=1//没有过生日之前
}
console.log(`真实年龄:${s}`);