项目中经常使用js封装(延续更新)

我们一样平常开辟中经常会碰到林林总总的需求,但许多需求都是反复的,因而我就把日常平凡开辟中碰到的一些罕见要领做了个总结和归结。
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)]

}

    原文作者:码码码农
    原文地址: https://segmentfault.com/a/1190000018765591
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞