const ordersArr = [4, 2, 1, 3];
const people = [
{ id: 1, name: "Максим" },
{ id: 2, name: "Николай" },
{ id: 3, name: "Ангелина" },
{ id: 4, name: "Виталий" },
];
function giveTalonsInOrder(patients, orders) {
const indexPatients = patients.reduce((acc, person) => {
acc[person.id] = person
return acc
}, {})
return orders.map((orders) => indexPatients[orders])
}
const result = giveTalonsInOrder(people, ordersArr)
Объясните пожалуйста последовательно. Как я понимаю логику
Reduce получается на каждой итерации наполняет новый объект значениями заданного объекта, в итоге мы получаем новый объект с теми же значениями. Затем, как я понимаю метод map меняет параметр id на значения первого объекта. Что заставляет их выстроиться в нужном порядке?? и если я где-то ошибся в рассуждениях поправьте пожалуйста!