0.7.5 • Published 5 years ago

@youngjs/youngjs v0.7.5

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

youngjs

实用前端数据处理工具函数

安装

$ yarn add @youngjs/youngjs

示例

库基本信息

import young from '@youngjs/youngjs'

const version = young.version // *.*.*
const author = young.author // youngjuning <youngjuning@aliyun.com>

基础类型数组的数集操作

import young from '@youngjs/youngjs'

const a = [1,2,3]
const b = [1,2,3,4]

const unionData = young.union(a,b) // [1,2,3,4]
const intersectionData = young.intersection(a,b) // [1,2,3]
const differenceData = young.difference(a,b) // [4]

对象数组的数集操作

import young from '@youngjs/youngjs'

const users = [
  { vip: true, name: '张三' },
  { vip: true, name: '李四' },
  { vip: true, name: '王五' }
]
const users1 = [
  { vip: true, name: '张三' },
  { vip: true, name: '李四' },
  { vip: true, name: '王五' },
  { vip: false, name: '赵六' }
]
// 根据name求并集
const unionByName = young.unionByKey(users, users1, 'name')
/**
[
  { vip: true, name: '张三' }, 
  { vip: true, name: '李四' }, 
  { vip: true, name: '王五' }, 
  { vip: false, name: '赵六' }
] 
**/
// 根据name求并集,然后根据vip求交集
const intersectionByVip = young.intersectionByKey(users, users1, 'vip','name')
/**
[
  { vip: true, name: '张三' }, 
  { vip: true, name: '李四' }, 
  { vip: true, name: '王五' }
] 
**/
// 根据vip求差集
const differenceByVip = young.differenceByKey(users, users1, 'vip')
/**
[
  { vip: false, name: '赵六' }
] 
**/

数组分组

数据:

const students = [
  {
    name: '杨俊宁',
    province: '河南',
  },
  {
    name: '宋光刚',
    province: '河南',
  },
  {
    name: '谢晧曜',
    province: '江苏',
  },
  {
    name: '李珂威',
    province: '河南',
  }
]

groupByKey:

import young from '@youngjs/youngjs'
young.groupByKey(array,"province")

结果:

[
  {
    province: '河南', 
    data: [
      { name: '杨俊宁', province: '河南' }, 
      { name: '宋光刚', province: '河南' }, 
      { name: '李珂威', province: '河南' }
    ]
  }, 
  {
    province: '江苏',
    data: [
      { name: '谢晧曜', province: '江苏' }
    ]
  }
]

删除数组项

import young from '@youngjs/youngjs'
young.removeItemByItem(['张三', '李四', '王五'], '王五')
/*
['张三', '李四']
*/
young.removeItemByIndex(['张三', '李四', '王五'], 1)
/*
['张三', '王五']
*/
young.removeItemByKey(
  [
    {name: '张三'},
    {name: '李四'},
    {name: '王五'}
  ],
  'name',
  '张三'
)
/*
[
  { name: '李四' },
  { name: '王五' }
] 
*/

数组排序

import young from '@youngjs/youngjs'
young.sort([1, 100, 1000, 99, 80]) // [ 1, 80, 99, 100, 1000 ] 
young.sort([1, 100, 1000, 99, 80], false) // [ 1000, 100, 99, 80, 1 ] 
young.sortByKey([
  { name: '张三', age: 16 }, { name: '李四', age: 26 }, { name: '王五', age: 13 }
], 'age')
/*
[
  { name: '王五', age: 13 }, 
  { name: '张三', age: 16 }, 
  { name: '李四', age: 26 }
] 
*/

数组降维

支持多维降维

import young from '@youngjs/youngjs'
young.reduced([1, 2, 3, [4, 5, 6, [7, 8, 9]], 10])
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
0.7.5

5 years ago

0.7.4

5 years ago

0.7.3

5 years ago

0.7.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.6-0

5 years ago

0.6.5

5 years ago

0.6.4

5 years ago

0.6.3

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.4

5 years ago

0.5.3

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.4.0

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago