Skip to the content.

Home > @easyops-cn/brick-next-pipes > mergeArrayByKey

mergeArrayByKey() function

将多个对象数组根据键合并为一个数组, 对于数组类型的属性不会 deep merge, 只会 concat。

Array

Signature:

export declare function mergeArrayByKey(dataList: unknown[][], key: string): unknown[];

Parameters

Parameter Type Description
dataList unknown[][] 所有需要合并的对象数组
key string 属性名(或迭代器)。

Returns:

unknown[]

根据 key 合并后的数组。

Example

const dataList = [
    [{id:1,a:"sai"},{id:2,a: "King"}],
    [{id:1,b:23},{id:3,b:24}],
]
mergeArrayByKey(dataList, "id")
// Returns  `[
//     {id:1,a:"sai",b:23},
//     {id:2,a:"King"},
//     {id:3,b:24},
//  ]`

const dataList2 = [
    [{"id":1, 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] }],
    [{"id":1, 'data': [{ 'age': 36 }, { 'age': 40 }]}]
]
mergeArrayByKey(dataList, "id")
// Returns  `[
//      {id: 1, data: [{ 'user': 'barney' }, { 'user': 'fred' }, { 'age': 36 }, { 'age': 40 }] },
// ]`