1.0.2 • Published 10 months ago

quickfunc-js v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

引入方式:

  commonJs:
    const quickfuncjs = require('quickfunc-js')
    quickfuncjs.方法名(...)

  ES Module:
    import { 方法名.. } from 'quickfunc-js'

  script标签引入:
    <script src="XXXXX"></script>
    <script>
        console.log(quickfuncjs.ArrayDeDup([1,2,1]));
    </script>

方法名称、概述:

 * tdArrayToObj 二维数组转对象
 * ObjToTdArray 对象转数组( 一维 or 二维 )
 * pickObjAttr 帅选对象属性
 * parseQuery: 解析url中的参数
 * getUniqueID: 生成唯一ID
 * ArrayDeDup: 数组去重 
 * sameChartSort: 数组-按相同字段,将数组元素对象排序
 * filterSameEle: 两个数组arr1、arr2, arr1匹配与arr2相同的value值,将相同数据组成一个新的数组
 * filterDiffEle: 两个数组arr1、arr2, arr1过滤与arr2不同的value值,将剩余数据组成一个新的数组
 * flatToTree 扁平化数组转数结构

备注:

B: bofore(之前的数据) ------    A: after(之后的数据)

具体使用:

tdArrayToObj: 二维数组转对象

  B: [ ['a',1],['b',2] ] 
  A: { a: 1, b: 2 }

ObjToTdArray: 对象转数组( 一维 or 二维 )

 ObjToTdArray( obj, parm) 
 obj: 转化目标对象  
 parm: 1 || 2 ( 1:转为一维数组  2: 转化为二维数组 )

  B:  { a: 1, b: 2 }
  A: [ 'a', 1, 'b', 2 ] ; [ ['a',1],['b',2] ] 

pickObjAttr: 帅选对象属性

  B: pickObjAttr({ a: 1, b: 2, c: 3 }, "a", "e")
  A: { a: 1 }

parseQuery: 解析url中的参数

  B: 'https://www.baidu.com?name=jimmy&age=18&height=1.88'
  A: { name: 'jimmy', age: '18', height: '1.88' }

getUniqueID: 生成唯一ID

  getUniqueID()

ArrayDeDup: 数组去重

  B: [1,2,3,1,1]
  A: [1,2,3]

sameChartSort: 将数组中的一条条对象,按相同元素进行排序

sameChartSort(arr,key)   arr:需转化的数组数据;key:排序依据的入参
B:
  [
      { key: 'a', value: 1 },
      { key: 'b', value: 2 },
      { key: 'a', value: 3 }
  ]
A:
  [
      { key: 'a', value: 1 },
      { key: 'a', value: 3 }
      { key: 'b', value: 2 },
  ]

filterSameEle: 两个数组arr1、arr2, arr1匹配与arr2相同的value值,将相同数据组成一个新的数组

filterDiffEle(arr1,'key1',arr2,'key2')
B:
    const arr1 = [
        { key1: 1, name: 'a' },
        { key1: 3, name: 'c' },
        { key1: 4, name: 'd' },
        { key1: 5, name: 'e' },
        { key1: 2, name: 'b' },
    ]
    const arr2 = [
        { key2: 1, value: 11 },
        { key2: 2, value: 22 },
        { key2: 12, value: 22222 },
    ]
A:
    [ { key1: 1, name: 'a' }, { key1: 2, name: 'b' } ]

filterDiffEle: 两个数组arr1、arr2, arr1过滤与arr2不同的value值,将剩余数据组成一个新的数组

filterDiffEle(arr1,'key1',arr2,'key2')
B:
    const arr1 = [
        { key1: 1, name: 'a' },
        { key1: 3, name: 'c' },
        { key1: 4, name: 'd' },
        { key1: 5, name: 'e' },
        { key1: 2, name: 'b' },
    ]
    const arr2 = [
        { key2: 1, value: 11 },
        { key2: 2, value: 22 },
        { key2: 12, value: 22222 },
    ]
A:
    [
      { key1: 3, name: 'c' },
      { key1: 4, name: 'd' },
      { key1: 5, name: 'e' }
    ]

flatToTree 扁平化数组转数结构

  flatToTree(arr,'pid')  arr:需要转化的数组, pid: 父级id
  B:
  [
      {id: 1, value: '部门1', pid: 0},
      {id: 2, value: '部门2', pid: 1},
      {id: 3, value: '部门3', pid: 1},
      {id: 4, value: '部门4', pid: 3},
      {id: 5, value: '部门5', pid: 4}, 
  ]
  A:
  [
      {
          "id": 1,
          "name": "部门1",
          "pid": 0,
          "chilrden": [
              {
                  "id": 2,
                  "name": "部门2",
                  "pid": 1,
                  "chilrden": [
                      {
                          "id": 4,
                          "name": "部门4",
                          "pid": 3,
                          "chilrden": [
                              {
                                  "id": 5,
                                  "name": "部门5",
                                  "pid": 4,
                                  "chilrden": []
                              }
                          ]
                      }
                  ]
              },
              {
                  "id": 3,
                  "name": "部门3",
                  "pid": 1,
                  "chilrden": [
                      {
                          "id": 4,
                          "name": "部门4",
                          "pid": 3,
                          "chilrden": [
                              {
                                  "id": 5,
                                  "name": "部门5",
                                  "pid": 4,
                                  "chilrden": []
                              }
                          ]
                      }
                  ]
              }
          ]
      }
  ]