'Can I set Javascript object keys based on a variable, e.g index of a loop? [duplicate]

I'm looping over an array, getting data from an API on each iteration.

I want to pass data from all iterations of the loop from my express server to the browser using res.json(), so I want to create an object that contains an object of data for each API call, as well as some other key-value pairs that will be created depending on what is returned.

e.g.
on loop index 0:

artist0: 
     {
        data: 'data',
        moreData: 'more-data'
     }

on loop index 1:

artist1: 
     {
        data: 'data',
        moreData: 'more-data'
     }

etc

I would use an array, but one of the calls (at random) will result in another key value pair, e.g.:

correctAnswer: 'a_url.com' 

this will be generated by one of the earlier API calls at random, so I cant get it at the other end using its array index.

I need the key 'correctAnswer', so I also need each object of API data to be identified by which API call it came from.

Short question: Can I name keys based on variables?

As always, your kind help is greatly appreciated :-)



Solution 1:[1]

This might help you

https://www.geeksforgeeks.org/how-to-use-a-variable-for-a-key-in-a-javascript-object-literal/#:~:text=ES6%20defines%20'ComputedPropertyName'%20as%20part,an%20expression%20in%20square%20brackets.

"ES6 defines ‘ComputedPropertyName’ as part of the grammar for object literals, which helps use a variable for a key. Object keys can be dynamically assigned in ES6 by placing an expression in square brackets"

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 mostlyConfused