Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
Can I set Javascript object keys based on a variable, e.g index of a loop?

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 :-)

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

You could solve this by not putting artists directly in the object, like this, using a array inside a single attribute of the object:

{
    "artists": [
        {
            "data": "data",
            "moreData": "more-data"
        },
        {
            "data": "data",
            "moreData": "more-data"
        }
    ],
    "correctAnswer": 3
}

Or alternatively, if you really want a dynamic key you can use

{
     [`artist${artistIndex}`]: {'data': 'data'}
}
about 4 years ago · Juan Pablo Isaza Report

0

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"

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!