separateMany

根据多个分组规则将对象分离成多个部分。

separateMany

separateMany 是一个更强大的分离函数,它可以根据多个分组规则将对象分离成多个部分,以及一个包含所有未分组属性的 others 对象。

用法

import { separateMany } from '@movk/core'

const options = {
  id: 1,
  name: 'Product',
  price: 99.9,
  inStock: true,
  style: 'modern',
  color: 'blue'
}

const { meta, data, others } = separateMany(options, {
  meta: ['id', 'inStock'],
  data: ['name', 'price']
})

// meta => { id: 1, inStock: true }
// data => { name: 'Product', price: 99.9 }
// others => { style: 'modern', color: 'blue' }

API

separateMany<T extends object, M extends Record<string, readonly (keyof T)[]>>(obj: T, groups: M): { [P in keyof M]: Pick<T, M[P][number]> } & { others: Omit<T, M[keyof M][number]> }

参数

obj
T required
源对象。
groups
M required
一个分组映射对象,其中键是分组名,值是要包含在该组中的属性键数组。

返回值

object
返回一个包含所有分组对象以及一个 others 对象的聚合对象。

Changelog

No recent changes
Copyright © 2024 - 2025 YiXuan - MIT License