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

144
Views
¿Cómo convertir el objeto de respuestas de formulario en una matriz 2D con la primera fila siendo la clave/encabezado y la segunda los valores/respuestas usando GAS?

Así es como llegan los datos entrantes:

 let e = {"authMode":"FULL","namedValues":{"Question 1":["Answer question 1"],"Question 2":["Answer question 2"],"Question 3.":["Answer Question 3"]}}

Esto debería verse así:

 [ ["Question 1", "Question 2", "Question 3"], ["Answer question 1", "Answer question 2", "Answer question 3"] ]

Trabajaré para que los encabezados coincidan con los encabezados de columna de la hoja de destino y, por lo tanto, el objeto anterior deberá convertirse a un formato similar.

¿Cómo se puede hacer esto usando Google Apps Script? He visto algún ejemplo, pero ninguno encontrado en este precisamente.

¡Gracias!

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

0

¿Es esto algo así?

 const e = { "authMode": "FULL", "namedValues": { "Question 1": ["Answer question 1"], "Question 2": ["Answer question 2"], "Question 3.": ["Answer Question 3"] } } const res = Object.entries(e.namedValues).reduce((acc, [questionNumber, answer]) => { acc[0].push(questionNumber) // spread answer because answer is an array acc[1].push(...answer) return acc }, [[], []])

o una forma más compacta menos comprensible tal vez

 const res = Object.entries(e.namedValues).reduce((acc, [questionNumber, answer]) => [[...acc[0], questionNumber],[...acc[1], ...answer]] ,[[],[]]))
about 4 years ago · Juan Pablo Isaza Report

0

Esto funcionará incluso si ha editado el formulario.

La edición del formulario a menudo hace que aumente el número de respuestas disponibles para una pregunta determinada.

 function onMyForm(e) { const arr = Object.keys(e.namedValues).reduce((a,c) => { if(c && c.length > 0 && !a.hasOwnProperty(c)) { a[1].push(e.namedValues[c][e.namedValues[c].length - 1]); a[0].push(c); } return a; },[[],[]]) return arr; }
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!