This is still a bit confusing to me... the first 'const' definition is needed to create a copy of the original data file, so that we're not mutating it... and we call this new object "shapes The next statement introduces a condition/rule/i dunno the term that says that we'll take whatever features exist in the file, then (3rd statement) reach into their properties, and for each feature with properties we'll create a value that is equal to .. (and here's where I am lost) the index file... where we "get" the property "name". But in our map, there is no "name" field defined?
`f.properties.name` is taking `name` from each feature of `shapes`, that is a copy of `stateShapes` (GeoJSON). It has `name` property. That name is used as key to get value from the Map, `index`.