I have two arrays selectedData and allServices
selectedData = [
{ id: 5 },
{ id: 6 }
];
allServices = [
{ id: 3, selected: false },
{ id: 4, selected: false },
{ id: 5, selected: false },
{ id: 6, selected: false },
{ id: 7, selected: false },
];
I use the function to compare and change allServices structure.
const changeStructure = (selectedData, allServices) => {
selectedData.services.map((_item, index) => {
allServices.map((value, i) => {
if (value.id === _item.id) {
allServices[i].selected = true;
} else {
allServices[i].selected = false;
}
})
})
console.log('final allServices', allServices);
return allServices;
}
console.log final allServices is
[
{ id: 3, selected: false },
{ id: 4, selected: false },
{ id: 5, selected: false },
{ id: 6, selected: true },
{ id: 7, selected: false },
];
I thought my allServices should be
[
{ id: 3, selected: false },
{ id: 4, selected: false },
{ id: 5, selected: true },
{ id: 6, selected: true },
{ id: 7, selected: false },
];
I have no idea why this is happening. Any suggestion would be appreciated.