I need help with the following: I am using material-table and its columns take an argument “lookup” which is an object with values. Its used for filtering and enabling multiselect inside the rows. The thing is, all examples I can find, are hardcoded, I am not able to find dynamically filled lookup objects. Now my question is; how can I fill the lookup object with values from an array:
const [columns, setColumns] = useState([ { title: 'Birth Place', field: 'birthCity', lookup: { 34: 'İstanbul', 63: 'Şanlıurfa' }, }, ]);
I need an object like this:
{"PUE-200":"PUE-200", "PUE-201":"PUE-202" etc.}
The array I need to extract the data from is the following:
0:{ "ProjektNr": "PUE-200", "ProjektBeschreibung": "aa" } 1:{ "ProjektNr": "PUE-201", "ProjektBeschreibung": "aa" }
Will appriciate any help 🙂
Advertisement
Answer
Map the array of objects to an array of key-value pairs using the ProjektNr
property and convert back to object using Object.fromEntries.
const data = [ { "ProjektNr": "PUE-200", "ProjektBeschreibung": "aa" }, { "ProjektNr": "PUE-201", "ProjektBeschreibung": "aa" } ]; const newMap = Object.fromEntries(data.map(el => [el.ProjektNr, el.ProjektNr])); console.log(newMap);