资讯专栏INFORMATION COLUMN

项目中常用js封装(持续更新)

myeveryheart / 3151人阅读

摘要:我们日常开发中经常会碰到各种各样的需求,但很多需求都是重复的,因此我就把平时开发中遇到的一些常见方法做了个总结和归纳。

我们日常开发中经常会碰到各种各样的需求,但很多需求都是重复的,因此我就把平时开发中遇到的一些常见方法做了个总结和归纳。
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://www.ucloud.cn/yun/103213.html

相关文章

  • vue 工具函数封装持续更新。。。

    摘要:项目中工具函数,我们通常会添加到的原型中,这样就实现了全局函数只需要将绑定的这段引入到即可。对象中可以有两个属性和是布尔值,为真时,不会对获取到的值进行解码。参数可选,可以有以下属性字符串字符串数值或日期对象布尔值。持续更新参考工具函数Vue 项目中工具函数,我们通常会添加到Vue的原型中,这样就实现了全局函数 import Vue from vue Vue.prototype.$tools...

    Cc_2011 评论0 收藏0
  • 从 0 到 1 再到 100, 搭建、编写、构建一个前端项目

    摘要:从到再到搭建编写构建一个前端项目选择现成的项目模板还是自己搭建项目骨架搭建一个前端项目的方式有两种选择现成的项目模板自己搭建项目骨架。使用版本控制系统管理源代码项目搭建好后,需要一个版本控制系统来管理源代码。 从 0 到 1 再到 100, 搭建、编写、构建一个前端项目 1. 选择现成的项目模板还是自己搭建项目骨架 搭建一个前端项目的方式有两种:选择现成的项目模板、自己搭建项目骨架。 ...

    call_me_R 评论0 收藏0
  • 从 0 到 1 再到 100, 搭建、编写、构建一个前端项目

    摘要:从到再到搭建编写构建一个前端项目选择现成的项目模板还是自己搭建项目骨架搭建一个前端项目的方式有两种选择现成的项目模板自己搭建项目骨架。使用版本控制系统管理源代码项目搭建好后,需要一个版本控制系统来管理源代码。 从 0 到 1 再到 100, 搭建、编写、构建一个前端项目 1. 选择现成的项目模板还是自己搭建项目骨架 搭建一个前端项目的方式有两种:选择现成的项目模板、自己搭建项目骨架。 ...

    wzyplus 评论0 收藏0
  • 从 0 到 1 再到 100, 搭建、编写、构建一个前端项目

    摘要:从到再到搭建编写构建一个前端项目选择现成的项目模板还是自己搭建项目骨架搭建一个前端项目的方式有两种选择现成的项目模板自己搭建项目骨架。使用版本控制系统管理源代码项目搭建好后,需要一个版本控制系统来管理源代码。 从 0 到 1 再到 100, 搭建、编写、构建一个前端项目 1. 选择现成的项目模板还是自己搭建项目骨架 搭建一个前端项目的方式有两种:选择现成的项目模板、自己搭建项目骨架。 ...

    aristark 评论0 收藏0
  • weapp微信小程序组件和功能封装持续更新

    摘要:微信小程序组件和功能封装持续更新中查看项目解决的痛点由于小程序和普通网页程序有所区别,组件的调用和使用相对有点麻烦。如果使用有问题,请使用最新版本基础库,并将微信更新到最新版本。 weapp 微信小程序组件和功能封装(持续更新中...)查看项目 解决的痛点:由于小程序和普通网页程序有所区别,组件的调用和使用相对有点麻烦。此处封装的组件和功能函数是为了使用起来更加的简单,减少麻烦的dat...

    pf_miles 评论0 收藏0

发表评论

0条评论

myeveryheart

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<