如何在angular中将两个Api数组结果合并为一个



我的第一个api数组结果如下:

{name: 'ABC', state: 'AR', licenseNumber: '100108512'}
{name: 'DEF', state: 'KY', licenseNumber: '100108518'}
我的第二个api数组结果如下:
{rollnum: '20' name: 'KGF', state: 'NE', licenseNumber: '1628740'}

我希望看到如下输出

{name: 'ABC', state: 'AR', licenseNumber: '100108512'}
{name: 'DEF', state: 'KY', licenseNumber: '100108518'}
{name: 'KGF', state: 'NE', licenseNumber: '1628740' }

我尝试过concat和spread语法,但它没有工作,可能是因为第一个api有3个属性,第二个api有4个属性(但3个属性在两者中都很常见)。

有什么建议在Angular 9或更高版本中实现上述输出吗?

只是映射和连接:

// example
let first = [{ name: 'ABC', state: 'AR', licenseNumber: '100108512' }, { name: 'DEF', state: 'KY', licenseNumber: '100108518' }];
// example
let second = [{ rollnum: '20', name: 'KGF', state: 'NE', licenseNumber: '1628740' }];
// use this common function to map the results in each set to the desired shared outcome
// if you have different logic or properties for mapping (e.g. map FirstName to Name) then make different mapping functions or change mapping logic in same function.
let mappingFunc = (item) => { return { name: item.name, state: item.state, licenseNumber: item.licenseNumber }; };
// final result contains desired result
const finalResult = first.map(mappingFunc).concat(second.map(mappingFunc))
console.log(finalResult);

最新更新