龙空技术网

js数字转中文

GloomySaturday 139

前言:

目前同学们对“js数字转中文”大约比较注重,看官们都想要学习一些“js数字转中文”的相关资讯。那么小编也在网络上收集了一些对于“js数字转中文””的相关资讯,希望看官们能喜欢,同学们一起来学习一下吧!

姿势不对,起来学习, 找寻属于自己的领域赛道,深耕成为稀缺资源,做差异化竞争

前言

javascript作为目前非常有话题性的语言,引来了无数人入坑,本人整理了javascript的几个技巧,希望可以帮助各位同学在日常开发中能提升效率,然后升职加薪,最终实现财务自由,各位看官觉得不错,给个关注吧,嘻嘻

往期

Javascript面试指南(一)

javascript面试指南(二)

正文

Date

1.自动补充Date单位数前的零

  new Date().getMinutes().toString().padStart(2, '0')

2.比较Date大小

  const date1 = '2020-10-10 23:56:23'  const date2 = '2020-10-09 23:56:23'    const diff = date1 > date2

3.获取本月的最后一天

  new Date(year, month, 0)

4.获取本月的第一天

  new Date(year, month - 1, 1)

Array

1.Array.indexOf判断:

我们通常判断数组里是否包含了某一项,会使用indexOf来判断返回的索引值是否大于-1,但是编程思想里通常不建议常量定死,并且-1语义化不够

javascript提供了一个位运算可以用来判断-1: ~

~x = -(x + 1)

当x为-1是, 自动变为0, 而javascript判断数字时只有当0的时候才会是false,其余的都是true

所以我们可以这么做

~array.indexOf(x)

2.数组去重:

基本类型

  Array.filter((item, index, array) => {  	return array.indexOf(item) === 0  })

NaN

NaN有以下几个特点

1. 是一个非自反类型,NaN !== NaN

2. Array.indexOf(NaN)无法访问

  let HAS_NAN = false  Array.filter((item, index, array) => {    if (item !== item && !HAS_NAN) {    	HAS_NAN = true    	return item    } else {    	return array.indexOf(item) === 0    }  })

引用类型

引用类型例如对象,是有一个唯一的主键用于区分,比如id

  const IDMAPS = {}  Array.filter((item) => {  	if (!IDMAPS[item.id]) {    	IDMAPS[item.id] = true    	return true    }  })

3.类数组转换:

类数组就是一个具有length属性的对象

  1. Array.from(array)  2. Array.proptotype.slice.call(array)

4.筛选正确的值:

  Array.filter(Boolean)

Object

1.判断Object是否为空:

  1. Object.keys(object).length === 0  2. JSON.stringify(object) === '{}'  3. Object.getOwnPropertyNames(obj)    第三种方案是较为完善的,它不仅可以访问当前属性还可以访问非枚举属性

2.检测属性是否存在Object下:

原型链检测

  key in object

非原型链检测

  Object.hasOwnProperty(key)

3.判断两个值是否相等:

Object.is(a, b)

Object.is约等于===

但是它可以检测NaN之间是否相等

Number

1.生成随机数:

  Math.random().toString(36).subStr(2)

2.向下取整:

  1. Math.floor(number)  2. ~~number

3.取整数:

  Math.trunc(number)  -1.2 => -1  1.2 => 1

4.幂函数:

  1. Math.pow(a, b)  2. a ** b

5.判断奇数

  number & 1

6.数字变中文

  let number = 2  number.toLocalString('zh-Hans-CN-u-nu-hanidec')

String

1.重复:

  string.repeat(3)

2.补充前几位:

  string.padStart(length, str)

3.补充后几位:

  string.padEnd(length, str)

4.转数字:

  +string

5.合并字符串:

  string.concat(str1, [str2], [str3], ...)

注意这里: concat是有降维作用,它会去除掉第一层数组包裹

关注公众号,每日更新

各位看官给个关注呗,期待下期的精彩

公众号: 前端马丁

wx号: IAmFineThanksMartin

标签: #js数字转中文