Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 合并具有不同键/属性的两个对象数组_Typescript - Fatal编程技术网

Typescript 合并具有不同键/属性的两个对象数组

Typescript 合并具有不同键/属性的两个对象数组,typescript,Typescript,这是输出阵列: array1 = [{ id: "David Moorman", current - margin: "500", current - customers: 123 }, { id: "Elaina Wasmus", current - margin: "600", current - customers: 45 } ]; array2 = [{ nam

这是输出阵列:

array1 = [{
        id: "David Moorman",
        current - margin: "500",
        current - customers: 123
    },
    {
        id: "Elaina Wasmus",
        current - margin: "600",
        current - customers: 45
    }
];
array2 = [{
    name: "Jose Maldonado",
    Purposed - margin: "700",
    purposed - customers: 100
}, {
    name: "David Moorman",
    Purposed - margin: "1000",
    purposed - customers: 34
}];

您可以使用lodash进行此操作。
在这里,我将array2中的name字段作为id字段

merge array = [{
    id: "David Moorman",
    current - margin: "500",
    Purposed - margin: "1000",
    current - customers: 123,
    purposed - customers: 100
}, {
    id: "Elaina Wasmus",
    current - margin: "600",
    Purposed - margin: NULL,
    current - customers: 45,
    purposed - customers: null
}, {
    id: "Jose Maldonado",
    current - margin: "0",
    Purposed - margin: "700",
    current - customers: null,
    purposed - customers: 100
}];
仅当array2的id字段的值为name字段时,此操作才有效。

两个数组必须有一个唯一的字段才能正确合并。

您可以使用lodash进行合并。
在这里,我将array2中的name字段作为id字段

merge array = [{
    id: "David Moorman",
    current - margin: "500",
    Purposed - margin: "1000",
    current - customers: 123,
    purposed - customers: 100
}, {
    id: "Elaina Wasmus",
    current - margin: "600",
    Purposed - margin: NULL,
    current - customers: 45,
    purposed - customers: null
}, {
    id: "Jose Maldonado",
    current - margin: "0",
    Purposed - margin: "700",
    current - customers: null,
    purposed - customers: 100
}];
仅当array2的id字段的值为name字段时,此操作才有效。

两个数组必须有一个唯一的字段才能正确合并。

据我所知,这将是我使用lodash的实现:

 finalArr = _(_.flatten([array1, array2]))
                                        .groupBy('id')
                                        .map(_.spread(_.assign))
                                        .value();

在此处查看lodash文档:

据我所知,这将是我使用lodash的实现:

 finalArr = _(_.flatten([array1, array2]))
                                        .groupBy('id')
                                        .map(_.spread(_.assign))
                                        .value();

在此处查看lodash文档:

用英语解释您作为输入的内容,用英语解释您的期望。提供问题,并格式化您的代码。这篇文章不可读,不仅因为它没有格式化,而且因为没有什么可读的。用英语解释你作为输入的内容,用英语解释你期望的内容。提供一个问题,并格式化你的代码。这篇文章不可读,不仅因为它没有格式化,还因为没有什么可读的。