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

241
Views
JS obtiene la unión de todas las claves de objeto de una matriz de objetos

Tengo debajo de la matriz de objetos:

 var all = [ {f1: "v1", f2: "v2"}, {f1: "v1", f2: "v2", f3: "v3"}, {f1: "v1", f2: "v2", f3: "v3", f4: "v4"}, {f1: "v1", f2: "v2", f3: "v3", f4: "v4", fn: "vn"} ];

Salida deseada:

 [f1, f2, f3, f4, f5, ...., fn];

Actualmente usando:

 all.reduce((sum, item) => ([...new Set([...sum, ...Object.keys(item)])]), []);

Ejemplo de trabajo: codepen

Cualquier sugerencia usando es6 o cualquier característica nueva de js, para un mejor rendimiento.

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

0

Puede aplanarlos en un solo objeto y luego tomar las llaves.

 var all = [ {f1: "v1", f2: "v2"}, {f1: "v1", f2: "v2", f3: "v3"}, {f1: "v1", f2: "v2", f3: "v3", f4: "v4"}, {f1: "v1", f2: "v2", f3: "v3", f4: "v4", fn: "vn"} ]; const output = Object.keys(Object.assign({}, ...all)); console.log(output);

about 4 years ago · Juan Pablo Isaza Report

0

var all = [ {f1: "v1", f2: "v2"}, {f1: "v1", f2: "v2", f3: "v3"}, {f1: "v1", f2: "v2", f3: "v3", f4: "v4"}, {f1: "v1", f2: "v2", f3: "v3", f4: "v4", fn: "vn"} ]; console.log(Object.keys(all[all.length-1]))
about 4 years ago · Juan Pablo Isaza Report

0

Usando Array.flatMap y un objeto Set para obtener un Conjunto de claves únicas y luego use el operador de propagación para convertir el Conjunto nuevamente en una matriz.

 var all = [ {f1: "v1", f2: "v2"}, {f1: "v1", f2: "v2", f3: "v3"}, {f1: "v1", f2: "v2", f3: "v3", f4: "v4"}, {f1: "v1", f2: "v2", f3: "v3", f4: "v4", fn: "vn"} ]; const res = [...new Set(all.flatMap(Object.keys))]; console.log(res);

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!