1.0.4 • Published 2 years ago

own-js v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

简介

自家前端交流构建的JS工具库,内含丰富的常用的JS函数

安装

npm i own-js@latest

使用

import {combineDistinct} from 'own-js'
const res = combineDistinct([ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 2, 5 ])
// [ 1, 2, 3, 4, 5 ]

Api

数组

combineDistinct

数组去重

  • 参数:若干个数组
  • 返回值:去重后的数组

示例

const res = combineDistinct([ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 2, 5 ])
// [ 1, 2, 3, 4, 5 ]

arrayDistinct

去重数组-对象数组,根据对象的某个字段进行去重

  • source 原始数组
  • property 根据该属性去重

示例

// 用法如下
const datas = [
  {
    name: "liu",
    type: "1"
  },
  {
    name: "wang",
    type: "2"
  },
  {
    name: "wang",
    type: "1"
  }
]
console.log(arrayDistinct(datas,'name'))

sortBy

排序数组-对数组某个对象按照某个字段来排序

  • property 排序字段
  • isAsc 排序方式,默认升序

示例

let arr1 = [
  { count: 1, name: '小米' },
  { count: 3, name: '华为' },
  { count: 2, name: '苹果' }
]
// sort() 方法用原地算法对数组的元素进行排序,并返回数组。
const res = arr1.sort(sortBy('count', false))
// 结果
// [
//     {
//         "count": 3,
//         "name": "华为"
//     },
//     {
//         "count": 2,
//         "name": "苹果"
//     },
//     {
//         "count": 1,
//         "name": "小米"
//     }
// ]

groupBy

数组分组-对数组对象进行分组

  • source 原始数组
  • property 分组属性

示例

let people = [
  { name: 'Alice', age: 21 },
  { name: 'Max', age: 20 },
  { name: 'Jane', age: 20 }
]
let groupedPeople = groupBy(people, 'age')
// 结果
// {
//   20: [
//     { name: 'Max', age: 20 },
//     { name: 'Jane', age: 20 }
//   ],
//   21: [{ name: 'Alice', age: 21 }]
// }

filterBy

过滤数组(支持递归过滤)

  • source 原始数组
  • filters 过滤条件(数组)
  • property 根据该属性过滤
  • children 子节点属性名,无子节点不用传或者传空

示例

const menus1 = [
  {
    title: '添加1级',
    permission: 'add',
    children: [
      {
        title: '添加2级',
        permission: 'add1-2',
        children: [
          {
            title: '添加3级',
            permission: 'add1-3'
          },
          {
            title: '添加2-3',
            permission: 'add2-3'
          }
        ]
      },
      {
        title: '添加2-2',
        permission: 'add2-2'
      }
    ]
  }, {
    title: '修改',
    permission: 'edit'
  }, {
    title: '删除',
    permission: 'delete'
  }, {
    title: '查询',
    permission: 'query'
  }
]
const myPermissions1 = [ 'add', 'query', 'add1-2', 'add1-3' ]
const p1 = filterBy(menus1, myPermissions1, 'permission', 'children')
// 结果  
//   [
//     {
//       "title": "添加1级",
//       "permission": "add",
//       "children": [
//         {
//           "title": "添加2级",
//           "permission": "add1-2",
//           "children": [
//             {
//               "title": "添加3级",
//               "permission": "add1-3"
//             }
//           ]
//         }
//       ]
//     },
//     {
//       "title": "查询",
//       "permission": "query"
//     }
//   ]

校验

validateIdCard

身份证号校验

  • idcard 身份证号
  • 验证成功返回空字符串,验证失败返回错误消息

    示例

validateIdCard('110110198801011234')

事件