I have an object of 4 arrays like following
const data = {
arr1 : [{id: 1, name: "Mike"}, {id: 2, name: "Peter"}],
arr2 : [{id: 6, name: "John"}, {id: 9, name: "Mary"}],
arr3 : [{id: 5, name: "Nick"}, {id: 4, name: "Ken"}],
arr4 : [{id: 3, name: "Kelvin"}, {id: 7, name: "Steve"}, {id: 8, name: "Hank"}]
}
Then I need to find an element and update it. Here is what I tried:
const updateElement = (id: number, newName: string) => {
let idx: number;
idx = data.arr1.findIndex((e) => e.id === id);
if (idx !== -1) data.arr1[idx].name = newName;
idx = data.arr2.findIndex((e) => e.id === id);
if (idx !== -1) data.arr2[idx].name = newName;
idx = data.arr3.findIndex((e) => e.id === id);
if (idx !== -1) data.arr3[idx].name = newName;
idx = data.arr4.findIndex((e) => e.id === id);
if (idx !== -1) data.arr4[idx].name = newName;
}
Is there any better way to update an element form multiple arrays than my approach? Suppose that every array has the same element interface.