我们一样平常开辟中经常会碰到林林总总的需求,但许多需求都是反复的,因而我就把日常平凡开辟中碰到的一些罕见要领做了个总结和归结。
1、金额的花样化
比方2.00,1,222,2.00像如许花样的数据在许多电商或许背景数据显现上见到,但是这些数据背景每每只是给我们前端返回2或许12222等等,因而我们前端就需要对数据举行处置惩罚
/*
- 花样化数字花样
- @param s为要花样化的number
- @param n为要保存几位小数点
- example: formatNum(2,2) 返回效果为”2.00″
- */
const formatNum = (s, n) => {
n = n > 0 && n <= 20 ? n : 2
s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + ''
var l = s.split('.')[0].split('').reverse(), r = s.split('.')[1]
t = ''
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? ',' : '')
}
return t.split('').reverse().join('') + '.' + r
}
2、搜检某个对象是不是为空
这个罕见于我们举行推断的时刻啦
/*
- 搜检一个对象是不是为空
- @param object为要推断的对象
- example:
- let obj = {}
- isEmptyObj(obj) 返回效果为true,不然false
- */
const isEmptyObj = object => {
if (!!Object.getOwnPropertySymbols(object).length) {
return false
}
for (const key in object) {
if (object.hasOwnProperty(key)) {
return false
}
}
return true
}
3、数组去重
/*
- 搜检一个对象是不是为空
- @param arr为要去重的数组
- example:
- let arr = [1,1,2,3,4]
- removeDuplicates(arr) 返回效果为[1,2,3,4]
- */
1.较烦琐要领
const removeDuplicates = arr =>{
const uniqueVals = []
arr.forEach((value,index) => {
if(uniqueVals.indexOf(value) === -1){
uniqueVals.push(value)
}
})
return uniqueVals
}
2.简朴要领1
const removeDuplicates = arr => {
return arr.filter((item,pos) => arr.indexOf(item) === pos)
}
简朴要领2
const removeDuplicates = arr => {
return [...new Set(arr)]
}