У меня есть два массива объектов.
const array1=[
{type:'A',name:'word1'},
{type:'B',name:'word2'},
{type:'C',name:'word3'},
{type:'D',name:'word4'},
{type:'E',name:'word5'},
{type:'F',name:'word6'},
]
const array2=[
{id:1,text:'text1',type:A},
{id:2,text:'text2',type:B},
{id:3,text:'text3',type:C},
{id:4,text:'text4',type:D},
{id:5,text:'text5',type:D},
{id:6,text:'text6',type:E},
{id:7,text:'text7',type:E},
{id:8,text:'text8',type:B},
]
Есть некоторые типы, которые находятся в array1, но не в массиве 2. Я хочу отобразить newArray следующим образом: -
const newArray=[
{id:1,text:'text1',type:A,name:'word1'},
{id:2,text:'text2',type:B,name:'word2'},
{id:3,text:'text3',type:C,name:'word3'},
{id:4,text:'text4',type:D,name:'word4'},
{id:5,text:'text5',type:D,name:'word4'},
{id:6,text:'text6',type:E,name:'word5'},
{id:7,text:'text7',type:E,name:'word5'},
{id:8,text:'text8',type:B,name:'word2'},
]
Я пробовал это сделать: -
var newArray=[],
newArray=array1.map(x => Object.assign(x, array2.filter(y => y.type == x.type)));
Но я не получаю вывод в требуемой форме.