@zero-org/utils
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

Getting started

Install and import the package:

npm install --save @zero-org/utils
import * as Utils from '@zero-org/utils'
Utils.isEmpty('a')
import { isEmpty } from '@zero-org/utils'
isEmpty('a')

API reference

getObjType

获取对象类型。

入参 说明 类型
obj 需要获取类型的对象 any

Example:

getObjType(null) // Null
getObjType(undefined) // Undefined
getObjType('abc') // String

isEmpty

判断对象是否为空。

入参 说明 类型
obj 判断的对象 any

Example:

isEmpty();                 // true
isEmpty(null);             // true
isEmpty(undefined);        // true
isEmpty('');               // true
isEmpty('hello');          // false
isEmpty([]);               // true
isEmpty([1, 2, 3]);        // false
isEmpty(Symbol('test'));   // false
isEmpty({});               // true
isEmpty({ key: 'value' }); // false

getVal

获取某个对象的多层属性的值。

入参 说明 类型
target 获取的属性对象 any
path 属性路径,用.分割 string
defaultVal 默认值 any

Example:

var obj = {
    detail: {
        address: {
            country: 'china'
        }
    }
}

var country = getVal(obj, 'detail.address.country', '') // china

getFileExtension

获取文件扩展名,不包含.,扩展名有可能为空。

入参 说明 类型
fileName 文件名 string

Example:

getFileExtension('测试.xlsx') // xlsx

deleteFromArray

根据键值对从数组中删除特定项。

入参 说明 类型
array 数组 any[]
key string
value any

Example:

var array = [{
    id: '01'
    name: '张三'
}, {
    id: '02',
    name: '李四'
}]
var _array = deleteFromArray(array, 'id', '02')

// 返回值和原array都等于下面的数组
[{
    id: '01'
    name: '张三'
}]

getBase64

获取文件的base64。

入参 说明 类型
file 文件 File

Example:

const blob = new Blob(['Hello, File!'], { type: 'text/plain' })
const fileName = 'hello.txt'
const file = new File([blob], fileName)
getBase64(file).then(base64 => {
    console.log(base64) // data:text/plain;base64,SGVsbG8sIEZpbGUh
})

downloadWithBlob

将Blob对象转换为URL并下载。

入参 说明 类型
blob 要被转换为URL并下载的Blob对象 Blob
fileName 下载后保存的文件名 string

Example:

const blob = new Blob(['Hello, File!'], { type: 'text/plain' })
const fileName = 'hello.txt'
downloadWithBlob(blob, fileName) // 下载的文件名称为hello.txt, 内容为'Hello, File!'

downloadWithUrl

通过url下载文件。

入参 说明 类型
url 下载的url地址 string
fileName 下载后保存的文件名 string

Example:

const blob = new Blob(['Hello, File!'], { type: 'text/plain' })
const fileName = 'hello.txt'
const url = window.URL.createObjectURL(new Blob([blob]))
downloadWithUrl(url, fileName) // 下载的文件名称为hello.txt, 内容为'Hello, File!'

eachTreeObject

遍历数组并对每个元素执行回调函数的函数。如果回调函数返回false,则立即停止遍历并返回true。

入参 说明 类型
array 需要遍历的数组 any[]
cb 回调函数。如果返回false,则立即停止遍历并返回true Function
childKey 指定子元素的键名。默认为'children' string

Example:

const array = [
    { id: 1, children: [{ id: 2 }, { id: 3 }] },
    { id: 4, children: [{ id: 5 }, { id: 6 }] },
]

const list = []

eachTreeObject(array, (item) => {
    if (item.id === 2) {
        return false
    }
    list.push(item.id)
})
// list = [1]

parseJson

将符合json格式的字符串格式化为json。

入参 说明 类型
str 待转换的字符串 string
defaultValue 转换失败后的默认值 any

Example:

const input = '{"key1": {"key2": "value"}}'
const result = parseJson(input) 
// 转换后
{
    key1: {
        key2: 'value'
    }
}

transTreeData

用于将一个树形结构的数据数组进行转换。

入参 说明 类型
array 要转换的对象数组 any[]
cb 回调函数,在该函数中进行健值映射 Function
childKey 指定子元素的键名。默认为'children' string

Example:

const array = [{
    uuid: '01',
    name: '节点1',
    child: [{
        uuid: '03',
        name: '节点03'
    }]
}]
transTreeData(array, (obj) => {
   return {
       key: obj.uuid,
       value: obj.uuid,
       title: obj.name
   } 
}, 'child')

// 转换后
[{
    key: '01',
    value: '01',
    title: '节点1',
    children: [{
        key: '03',
    	value: '03',
        title: '节点03'
    }]
}]

logVersionInfo

打印带有特定样式的版本信息的函数。版本信息将以特定的颜色和背景色显示,并且会在控制台输出。

入参 说明 类型
versionInfo 需要打印的版本信息 string

Example:

logVersionInfo('文字客服: 2.0.7')

License

The MIT License (MIT). Please see License File for more information.

Readme

Keywords

Package Sidebar

Install

npm i @zero-org/utils

Weekly Downloads

0

Version

1.2.0

License

ISC

Unpacked Size

55.7 kB

Total Files

20

Last publish

Collaborators

  • jjzuo0808370