mergeSkipNullish
从左到右合并多个对象,形成一个新的对象。
前面对象中非 null
或 undefined
的字段不会被后面的 null
或 undefined
的字段覆盖。
Added in v0.0.4
Usage
ts
import { mergeSkipNullish } from 'parsnip-kit'
const obj1 = { a: 1, b: null, c: undefined }
const obj2 = { b: 2, c: 3, d: null }
const obj3 = { c: undefined, d: 4, e: 5 }
mergeSkipNullish(obj1, obj2, obj3) // { a: 1, b: 2, c: 3, d: 4, e: 5 }
API
Type Parameter
Arg | Type | Description |
---|---|---|
T | extends object | 要合并的对象的类型 |
Arguments
Arg | Type | Optional | Default | Description |
---|---|---|---|---|
...objs | (T | Nullish)[] | false | undefined | The objects to merge |
Returns
Type |
---|
T |
Type Definition
ts
{
<T extends object, U extends object>(
a: T | Nullish, b: U | Nullish
): SpreadSkipNullish<T, U>
<T extends object, U extends object, V extends object>(
a: T | Nullish, b: U | Nullish, c: V | Nullish
): SpreadSkipNullish<SpreadSkipNullish<T, U>, V>
<T extends object, U extends object, V extends object, W extends object>(
a: T | Nullish, b: U | Nullish, c: V | Nullish, d: W | Nullish
): SpreadSkipNullish<SpreadSkipNullish<SpreadSkipNullish<T, U>, V>, W>
(...objs: any[]): any
}