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

147
Views
Javascript convert array value string to array

How to convert this array string value to an array.

 data = ["genStatus: INPROGRESS,DONE", 
    "status: ACTIVE,DEACTIVATE"]

the expected output should be like this:

data = {
    genStatus: ["INPROGRESS","DONE"],
    status: ["ACTIVE", "DEACTIVATE"]
}

or should be like this

data = [{ name: 'genStatus', data: [{name: 'INPROGRESS'}, {name: 'DONE'}]},
{ name: 'status', data: [{name: 'ACTIVE'}, {name: 'DEACTIVATE'}]}]
about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

const data = ["genStatus: INPROGRESS,DONE", "status: ACTIVE,DEACTIVATE"]

const transformed = data.reduce((object, item) => {
  // get key and value
  const [key, value] = item.split(' ')
  // assign key and split value
  object[key] = value.split(',')
  return object
}, {})

console.log(transformed)

const data = ["genStatus: INPROGRESS,DONE", "status: ACTIVE,DEACTIVATE"]

const transformed = data.map(item => {
  const [key, value] = item.split(' ')
  return {
    name: key,
    data: value.split(',').map(value => ({ name: value }))
  }
})

console.log(transformed)

about 4 years ago · Santiago Trujillo Report

0

I shared my approach here. Hope you will understand it.

const data = ["genStatus: INPROGRESS,DONE", 
    "status: ACTIVE,DEACTIVATE"]

// Approach 1
const obj = data.reduce((acc, curr) => {
  const [key, data] = curr.split(":")
  acc[key] = data.trim().split(",")
  return acc;
}, {})

console.log(obj)

// Approach 2
const obj2 = data.map(el => {
  const [key, data] = el.split(":")
  const obj = {};
  const dataArray = data.trim().split(",").map(d => ({
    name: d
  }))
  obj[key] = dataArray
  return obj;
})

console.log(obj2)

about 4 years ago · Santiago Trujillo Report

0

Here's what I came up with:

function parse_data(data) {
    var result = {}
    data.forEach(e => {
       e = e.split(":");
       var key = e[0];
       var value = [];
       e[1].split(",").forEach(x => {value.push(x.trim())});
       result[key] = value;
    });

    return result;
 }

Output:

{"genStatus":["INPROGRESS","DONE"],"status":["ACTIVE","DEACTIVATE"]}

Another method:

function another_parse_data(data) {
    var result = []
    data.forEach(e => {
        e = e.split(":");
        var key = e[0];
        var value = [];

        e[1].split(",").forEach(x => {value.push({"name": x.trim()})});

        var presult = {}
        presult["name"] = key
        presult["data"] = value

        result.push(presult)
      });

    return result;
 }

Output:

[{"name":"genStatus","data":[{"name":"INPROGRESS"},{"name":"DONE"}]},{"name":"status","data":[{"name":"ACTIVE"},{"name":"DEACTIVATE"}]}]
about 4 years ago · Santiago Trujillo 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!