Skip to main content
Version: 2.x

API Reference > @easyops-cn/brick-next-pipes > mergeArrayByKey

mergeArrayByKey() function

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

Array

Signature:

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

Parameters

ParameterTypeDescription
dataListunknown[][]所有需要合并的对象数组
keystring属性名(或迭代器)。

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 }] },
// ]`