Вы также можете запустить функцию map для одного или обоих массивов, чтобы получить структуру, упомянутую @Doug.
object2 = { "df567wgfdz4" : { x: 450, y: 137 }, "asd4567wds8" : { x: 114, y: 763 }, "cvbz5476zzg": { x: 908, y: 870 }
Функция карты, чтобы получить вышеуказанное, выглядела бы примерно так:
array2.map(newObj => {
var rObj = {};
var sObj = {};
sObj['x'] = newObj.x;
sObj['y'] = newObj.y;
rObj[newObj.id] = sObj;
return rObj;
});