項目中經常使用js封裝(持續更新)

咱們平常開發中常常會碰到各類各樣的需求,但不少需求都是重複的,所以我就把平時開發中遇到的一些常見方法作了個總結和概括。
一、金額的格式化前端

好比2.00,1,222,2.00像這樣格式的數據在不少電商或者後臺數據顯示上見到,然而這些數據後臺每每只是給咱們前端返回2或者12222等等,所以咱們前端就須要對數據進行處理數組

/*code

  • 格式化數字格式
  • @param s爲要格式化的number
  • @param n爲要保留幾位小數點
  • example: formatNum(2,2) 返回結果爲"2.00"
  • */

const formatNum = (s, n) => {orm

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

}對象

二、檢查某個對象是否爲空開發

這個常見於咱們進行判斷的時候啦rem

/*get

  • 檢查一個對象是否爲空
  • @param object爲要判斷的對象
  • example:
  • let obj = {}
  • isEmptyObj(obj) 返回結果爲true,不然false
  • */

const isEmptyObj = object => {it

if (!!Object.getOwnPropertySymbols(object).length) {
    return false
}
for (const key in object) {
    if (object.hasOwnProperty(key)) {
        return false
    }
}
return true

}form

三、數組去重
/*

  • 檢查一個對象是否爲空
  • @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)]

}

相關文章
相關標籤/搜索