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

194
Views
How to convert an array of string into a Javascript object?

Each user's information is separated by a comma, or a space, but some pieces of information can be blank. I'm looking for a solution to take the user information and create an object (key-value mapping). Here's my approach, but I can't get multiple objects.

function Person(name, email, age, occupation) {
  this.name = name;
  this.email = email;
  this.age = age;
  this.occupation = occupation;
}

let string = "Norbert,norbert@test.com,51,Coder Noemi,,,Teacher Rachel,rachel@test.com,,"
let stringArr = string.split(/[\s,]+/)

const personObj = new Person(...stringArr)

console.log(personObj)

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

0

When splitting the string, you need to keep the empty strings between the commas, but you are splitting sequences of commas as one divider - [\s,]+.

Split the string by a single , or a sequence of spaces - /,|\s+/. Then create an array of Person using Array.from(), dividing the original length by 4, and taking 4 properties by slicing the original array:

function Person(name, email, age, occupation) {
  this.name = name;
  this.email = email;
  this.age = age;
  this.occupation = occupation;
}

const string = "Norbert,norbert@test.com,51,Coder Noemi,,,Teacher Rachel,rachel@test.com,,"
const stringArr = string.split(/,|\s+/)

const personArr = Array.from({ length: stringArr.length / 4 }, (_,i) => 
  new Person(...stringArr.slice(i * 4, i * 4 + 4))
)

console.log(personArr)

about 4 years ago · Juan Pablo Isaza Report

0

Assuming space is a line separator, and comma is a field separator, split:

function Person(name, email, age, occupation) {
  this.name = name;
  this.email = email;
  this.age = age;
  this.occupation = occupation;
}

let string = "Norbert,norbert@test.com,51,Coder Noemi,,,Teacher Rachel,rachel@test.com,,";

const persons = string.split(' ').map(r => new Person(...r.split(',')));

console.log(persons)

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!