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

234
Views
Cómo convertir una matriz de objetos en pares de valores clave
 var contacts = [ { account: "Acme", firstName: "John", lastName: "Snow" }, { account: "Metal Industries", firstName: "Ted", lastName: "Smith" }, { account: "Acme", firstName: "Sara", lastName: "Butler" }, { account: "HiTech Corp", firstName: "Sam", lastName: "Johnson" }, { account: "HiTech Corp", firstName: "Arnold", lastName: "Williams" }, { account: "Metal Industries", firstName: "Jessica", lastName: "Westcoat" }, { account: "Acme", firstName: "Kyle", lastName: "Johnson" }, { account: "HiTech Corp", firstName: "Jason", lastName: "Fernandez" } ];

El objetivo es obtener esta salida:

 result = { "Acme": ["John Snow", "Kyle Johnson", "Sara Butler"], "HiTech Corp": ["Arnold Williams", "Jason Fernandez", "Sam Johnson"], "Metal Industries": ["Jessica Westcoat", "Ted Smith"] }

Mi función a continuación no devuelve la matriz de valores y solo devuelve el último valor

 const convertArrayToObject = (array, key) => { const initialValue = {} return array.reduce((obj, item) => { return {...obj,[item[key]]: item,} }, initialValue) }

Producción

Cualquier ayuda es apreciada

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

0

 var contacts = [ { account: "Acme", firstName: "John", lastName: "Snow" }, { account: "Metal Industries", firstName: "Ted", lastName: "Smith" }, { account: "Acme", firstName: "Sara", lastName: "Butler" }, { account: "HiTech Corp", firstName: "Sam", lastName: "Johnson" }, { account: "HiTech Corp", firstName: "Arnold", lastName: "Williams" }, { account: "Metal Industries", firstName: "Jessica", lastName: "Westcoat" }, { account: "Acme", firstName: "Kyle", lastName: "Johnson" }, { account: "HiTech Corp", firstName: "Jason", lastName: "Fernandez" } ]; const convertArrayToObject = (array, key) => { const initialValue = {} array.forEach((obj, item) => { initialValue[obj[key]] = initialValue[obj.account] || [] initialValue[obj[key]].push(`${obj.firstName} ${obj.lastName}`) }) return initialValue } console.log(convertArrayToObject(contacts, 'account'))
about 4 years ago · Juan Pablo Isaza Report

0

Estuvo cerca, solo se perdió que cuando configura el objeto en la matriz resultante, debe configurarlo como una matriz; en este script, sería [k]: [v] y no [k]: v

 var contacts = [ { account: "Acme", firstName: "John", lastName: "Snow" }, { account: "Metal Industries", firstName: "Ted", lastName: "Smith" }, { account: "Acme", firstName: "Sara", lastName: "Butler" }, { account: "HiTech Corp", firstName: "Sam", lastName: "Johnson" }, { account: "HiTech Corp", firstName: "Arnold", lastName: "Williams" }, { account: "Metal Industries", firstName: "Jessica", lastName: "Westcoat" }, { account: "Acme", firstName: "Kyle", lastName: "Johnson" }, { account: "HiTech Corp", firstName: "Jason", lastName: "Fernandez" } ]; const convertArrayToObject = (array, key) => { const initialValue = {} return array.reduce((obj, item) => { let k = item[key], v=item.firstName + ' ' + item.lastName; if (obj[k]) obj[k].push(v); else obj = { ...obj, [k]: [v] } return obj }, initialValue) } console.log(convertArrayToObject(contacts, 'account'))

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!