npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

heibao-utils

v0.0.8

Published

javasript develop utils

Downloads

75

Readme

JavaScript工具类库

从jQuery中整理的部分的工具函数以及平时积累的部分工具函数,方便开发使用

###测试

npm run test

如何使用

  • 安装

    cnpm install heibao-utils --save-dev;
  • 引用

    import Utils from "heibao-utils";
    
    Utils.xxx

    备注:由于该包没有添加类型定义文件,并且是commonjs的方式,所以使用typescript的话,请使用require的方式进行引入

提供了哪些方法

  • type(obj)

    判断js对象类型,比如:object,array,string,function等

    let type = Utils.type([]);
    console.log(type);//返回 array
    
    let type = Utils.type("hello");
    console.log(type);//返回 string
    
    ......
  • isNull(obj)

    判断对象是否为null,返回boolean值

    参数说明:

    obj:要判断的值
  • isPlainObject(obj)

    判断值是否为字面量对象,即 {},返回boolean值

    参数说明:

    obj:要判断的值
  • isEmptyObject(obj)

    判断是否是空对象,比如:[],{}等,返回boolean值

    参数说明:

    obj:要判断的值
  • isFunction(obj)

    判断是否为function,返回boolean值

    参数说明:

    obj:要判断的值
  • isNumeric(obj)

    判断是否为数字,返回boolean值

    参数说明:

    obj:要判断的值
  • isArray(obj)

    判断是否为数组,返回boolean值

    参数说明:

    obj:要判断的值
  • isBoolean(obj)

    判断是否为boolen,返回boolean值

    参数说明:

    obj:要判断的值
  • isDate(obj)

    判断是否为Date,返回boolean值

    参数说明:

    obj:要判断的值
  • contain(ele,array,i)

    判断元素是否包含在数组中,存在反正元素在数组中的索引,不存在返回-1

    参数说明:

    ele:要比较的元素
    array:比较的数组
    i:比较arrary中哪个位置
    
    比如:
    let arr=[1,2,3];
    console.log(Utils.contain(2,arr));//返回 1
    console.log(Utils.contain(2,arr,1));//返回 1
  • merge(first,second)

    数组合并,返回合并后的新数组

    参数说明:

    first:目标数组,即被合并的数组
    second:要合并的数组
  • trim(text)

    去除字符串两端的空白,返回去除空白后的字符串

    参数说明:

    text:要出去空白的字符串
  • makeArray(arr,results)

    合并数组或者对象,返回合并后的数组或者类数组对象

    参数说明:

    arr:数组或者对象
    results:数组或者对象
  • unique(arr)

    数组去重,返回去重后的数组

    参数说明:

    返回去重后的数组
  • findElementIndex(arr.element)

    查找数组中的元素,返回查找到的元素的索引

    参数说明:

    arr:被查询的数组
    element:要查询的元素
  • removeElement(array, element)

    移除数组的元素,返回移除元素后的数组

    参数说明:

    array:要移除元素的数组
    element:要移除的元素
  • copyDate(date)

    复制一个时间对象,返回复制后的时间对象Date

    参数说明:

    date:被复制的Date对象
  • createCorrectDate(strFormatDate, dateArr)

    创建Date对象,返回创建成功的Date对象

    参数说明:

    strFormatDate:时间格式,支持的时间格式有如下几种:
    	2017-11-19 12:20:30:333
        2017/11/19 12:20:30:333
        2017.11.19 12:20:30:333
        2017-11-19
        2017/11/19
        2017.11.19
    dateArr:设置的时间格式数组,支持设置时、分、秒
    	[23,59,59]
  • dateFormat(fmt, objDate)

    Date对象转换成时间字符串格式,返回转换后的时间字符串

    参数说明:

    fmt:格式化标识符
    	yyyy-MM-dd hh:mm:ss = 2017-01-01 21:32:32
    	yyyy-MM-dd          = 2017-01-01 21:32:32
    	yyyy年MM月dd日       = 2017年11月21日
      	
    	yyyy-MM             = 2017-01
    	yyyy-M              = 2017-1
    	MM-dd               = 01-01
    	M-d                 = 1-1
    	hh时                = 23时
    	hh                  = 23
      	
    	....
    	根据 y(年)、M(月)、d(日)、h(时)、m(分)、s(秒)、S(毫秒)、q(季度)这几个占位符的组合,可以返回任     何格式的Date对象的值
    objDate:Date时间对象
  • isLeapYear(objDate)

    判断是否是闰年,返回boolean值

    参数说明:

    objDate:Date时间对象
  • diffDate(interval, beginDate, endDate)

    比较两个时间的间隔,返回时间间隔

    参数说明:

    interval:时间间隔占位符
    	s:返回两个日期相差的秒数
        n:返回两个日期相差的分钟数
        h:返回两个日期相差的小时数
        d:返回两个日期相差的天数
        w:返回两个日期相差的周数
        m:返回连个日期相差的月数
        y:返回连个日期相差的年数
    beginDate:开始时间,可以是Date对象,也可以是时间字符串
    endDate:结束时间,可以是Date对象,也可以是时间字符串
  • clone()

    对象拷贝

  • getQuery(queryKey, target, pattern)

    查询querystring参数,返回查询到的值

    参数说明:

    queryKey:要查询的key
    target:从哪个目标字符串查询,可选参数,默认是window.location
    pattern:匹配的截取正则,可选参数
    
    一般前端只要传入第一个参数,就可以获取当前页面window.location的querystring的值
  • getOffset(element)

    获取元素的offsetTop跟offsetLeft

    参数说明:

    element:dom元素
  • getScrollOffsets(w)

    获取元素的滚动对象scrollX、scrollY

    参数说明:

    w:dom对象,默认为window
    
    我们一般也就是获取整个页面的scrollX、scrollY
  • getViewPortSize(w)

    获取页面可见视口,返回width、height

    参数说明:

    w:dom对象,可选参数,默认window
    
    我们一般都是获取整个页面的可见视口