for custom data that you want to store locally, I recommend to use an additional Storage component. The settings property is also a Storage that you can use, but it is good practice to have you custom data in an own Storage / Database. You can also easily switch to a WebStorage at a later point then, in case you want to store and synchronize the data with the Game Network Service.
Regarding Array vs Key-Value Pair for each record: As you intend to iterate through your records, it makes sense to store an Array of your records.
You can then load the data array with all records from the storage and process it as you like.