Mientras recorremos el contenido, tenemos la oportunidad de reconstruir y reorganizar la forma en que estamos generando los contenidos. Así que en esta lección, vamos a reconstruir el objeto que estamos generando para el usuario web, de modo que no esté dentro de un arreglo multidimensional. Esto hará más sentido respecto a qué representan estos valores.
Tenemos todos los encabezados y también todas las columnas e información. Así que usemos un bucle; podemos usar un bucle `forEach` para recorrer cada una de las filas. Y primero, configuremos solo un arreglo vacío; este será en realidad el día que vamos a devolver. En lugar de filas, devolverá el contenido del contenedor `Holder`.
Y luego, cuando tengamos las filas de datos —en realidad necesitamos usar las preguntas—, podemos usar `forEach` y recorrer cada uno de los valores, además de obtener el valor de índice usando el formato de función de flecha. Esto es nuevo con el script; puedes usar JavaScript ES6 y superior. Así que todos los métodos de JavaScript y todo el JavaScript con el que estés familiarizado, puedes aplicarlo dentro de Google Apps Script. Estamos generando el contenido y acomodando la información del registro.
Y mientras recorremos cada uno de los elementos, configuremos un contenedor temporal. Dentro de este contenedor, construiremos nuestro objeto, que colocaremos en el arreglo principal `Holder`. Así que primero seleccionemos `Temp`. En realidad, tenemos cuatro encabezados, así que tenemos cuatro filas y podemos recorrerlos. El valor de los encabezados, así que en realidad hagamos un `forEach` para los encabezados, y ese será el conjunto de información de los encabezados. Mientras lo recorremos, seleccionando `Temp`, usando la notación de corchetes, generará el valor del encabezado y luego lo asignará al objeto con el valor de índice correspondiente al elemento, y también ajustará el índice aquí.
Así que mientras lo recorremos, para los elementos, podemos seleccionar el elemento actual del índice, y dado que esto es un arreglo multidimensional, tenemos el segundo índice mientras recorremos los encabezados, lo cual construirá un objeto más complejo. Y una vez configurado, por último, podemos tomar `Holder` y añadir los detalles del objeto a él.
Voy a pasar por esto nuevamente para aclararlo. Primero, asegurémonos de que tenemos el objeto de datos como los encabezados, así que no se puede leer. Así que intentemos hacer un registro o un registro de los encabezados. Esto en realidad será la información de los encabezados y el registro del índice, y esta es la forma en que puedes solucionar problemas para asegurarte de que tienes los detalles correctos que estás añadiendo al arreglo.
Así que ejecútalo una vez más. Veamos qué sucedió y dentro de los registros: la primera salida es el encabezado, así que eso está correcto. La segunda será el valor de índice cero. Y luego tenemos el elemento. El error fue que estaba seleccionando ese índice y debería ser `headerIndex` porque estaba pensando en el arreglo multidimensional. Pero ya tenemos la pieza del arreglo completo que entra en L., lo cual podemos ver aquí dentro de los registros. Así que solo necesitamos seleccionar el valor de índice adecuado mientras recorremos los encabezados.
También para la información de los encabezados, quiero actualizar el valor del encabezado, así que toma el encabezado y luego haz un `.toLowerCase()`. Usar el método `.toLowerCase()` te permitirá transformar ese valor de cadena a minúsculas y luego igualarlo al nuevo valor del encabezado. Y movámoslo hacia arriba al principio antes de mirar el valor del encabezado para poder ver el nuevo valor transformado y ejecutar el código para verificar los registros, `.toLowerCase()` y convertir el encabezado a minúsculas.
Parece que todo está bien y podemos devolver la salida de `Holder`. Hagamos un refresco del entorno de desarrollo. Ahora tenemos el título: "Hola Mundo Contenido". Este es el contenido de prueba hacia arriba y hacia abajo. Y también necesitamos añadir un elemento más aquí en `Temp`, y ese será el valor de fila. La fila será el valor de índice más... así que hacemos una propiedad `row`, y esto será el valor de índice más dos, lo cual tiene en cuenta que los arreglos comienzan en cero. Por eso sumamos uno, y dado que tenemos la información de los encabezados, eso explica por qué sale más dos para el valor real. Y asegémonos de que estamos generando la fila en las herramientas de desarrollo, así que tenemos el rol en "Hola Mundo Uno".
Verifiquemos: "Hola Rotu Hola Mundo Uno". Este es el contenido de prueba hacia arriba y hacia abajo, los valores para arriba y para abajo. Así que eso se está generando como datos JSON. Y ahora estamos listos para trabajar con esos datos y utilizarlos dentro de la aplicación de JavaScript.
Hagamos un rápido repaso de lo que cubrimos en esta lección antes de continuar con la siguiente. En la lección anterior, obtuvimos todos los valores, separamos los encabezados y las preguntas, seleccionamos y creamos un arreglo de contención vacío donde podemos depositar nuestro objeto reconstruido. Recorremos todas las preguntas, así que estamos recorriendo todo el contenido allí. Y mientras lo recorremos, lo tomamos junto con su valor y el valor de índice. Creamos nuevos objetos temporales y establecimos un valor predeterminado `forRow` igual al valor de índice más dos. Luego recorremos todos los encabezados, y por eso, incluso si agregas nuevos encabezados aquí, se añadirán automáticamente a la fórmula. Así que si agregas "prueba" y estos valores están aquí, si lo refrescas, se añadirá automáticamente a la salida. Entonces tenemos "prueba": uno, dos, tres, cuatro. Nuestro arreglo y nuestro código son completamente dinámicos y flexibles. Si actualizamos la hoja con nuevos datos, simplemente añadiremos esos nuevos datos de la hoja. Y también puedes ver que tenemos "prueba", que era el encabezado. Está usando la información del encabezado y convirtiéndola a minúsculas para que tengamos nombres de objeto y nombres de propiedades en minúsculas, y estamos usando la notación de corchetes dentro del objeto para seleccionar ese objeto que creamos. Estableciendo la propiedad como sea el valor del encabezado, esto está tomando la información de la primera fila y estableciéndola como el nombre de la propiedad, y luego le asignamos un valor. Y el valor será lo que venga del elemento, que es todo el dato del arreglo de roles. Solo estamos usando el valor de índice, y el valor de índice se representa aquí mientras recorremos cada uno de los encabezados que tenemos dentro del arreglo. Así que eso está reconstruyendo la información del objeto y añadiendo los detalles. Por supuesto, puedes añadir cualquier otro detalle que desees. Finalmente, estamos empujando los datos a ese arreglo `Holder` que creamos. Y por último, estamos tomando esa información de `Holder` y creando la salida a partir de ella. La salida de datos y eso simplemente se aplica como cadena y luego se genera aquí en el retorno de la aplicación web. Y cuando vemos el contenido de la aplicación web, tenemos todos los contenidos dentro de los datos. Tenemos el estado como verdadero. Y dentro de los datos, tenemos un arreglo que podemos recorrer con JavaScript. Eso viene a continuación, donde conectaremos a esos datos.
Una vez que lo hayas finalizado, haz un nuevo despliegue para que podamos seleccionar la aplicación y... simplemente la llamaremos "Datos Listos". Y luego, ¿quién tiene acceso? Cualquiera que ejecute como la cuenta de Google actual y luego presionamos "Listo", y se volverá a generar en la misma URL de la aplicación web que tenemos. Esta es la versión ejecutable que vas a usar en tus futuras solicitudes desde JavaScript para conectar con los datos. Así que hagamos un refresco en eso y asegurémonos de que tienes el contenido en formato JSON y estás listo para avanzar a la siguiente lección.
Translator
Comments
Post a Comment