javascript - Angular 2 如何将两个相等的索引数组合并为一个?
问题描述
例如,如果我有两个相等的索引数组:
A [
{name: Jhon}
{name: Jacob}
{name: Lukas}
]
B [
{fr: Prince} //fr, en, it is language, Prince is LastName
{en: Breed}
{it: Lasontos}
]
如何将其合并为一个,如下所示:
A [
{name: Jhon, lastname: Prince, country: fr }
{name: Jacob, lastname: Breed, country: en}
{name: Lukas, lastname: Lasontos, country: it}
]
解决方案
应用于第一个对象数组的用途Object.assign(obj1, obj2)
和方法。map()
var arr = [
{firstname: 'John'},
{firstname: 'Hello'}
]
var arr2 = [
{fr: 'Here'},
{en: 'There'}
]
arr.map((obj, index) => {
var internalization = {
country: Object.keys(arr2[index])[0],
lastname: arr2[index][Object.keys(arr2[index])[0]]
}
return Object.assign(obj, internalization);
})
console.log(arr);
工作小提琴:
推荐阅读
- c# - 想要生成一个新的日期时间,它不在使用c#的日期时间间隔列表中
- docker - 如何在 docker 中停止 .net 核心应用程序?
- c# - FirstUnmatchedIndex 使用 CurrentCultureIgnoreCase
- makefile - assimp 编译错误:DirectX_D3DX9_LIBRARY not found 虽然安装了directX
- jenkins - 使用 Multibranch Pipeline Jenkins 作业,是否可以在不重新运行现有分支构建的情况下运行分支索引
- prolog - DTProbLog 查询
- windows - Windows 10 如何猜测 1080p 显示器的物理尺寸?
- python - Django dict键,for循环中的值不起作用
- java - 如何防止快速双击复选框?
- tabulator - 如何将新行添加到 Tabulator 表中?