JavaScript, HTML, CSS e... !
0 commenti

Impossibile convertire Array in Object[][]

Cannot convert Array to Object[][]

In alcune situazioni, spesso lavorando con i metodi degli Spreadsheet ed in particolare setValues, evidenziato all'avvio dell'opportuna funzione in Google Apps Script (considerando anche i progetti di tipo bounce script), può essere restituito l'errore "Cannot convert Array to Object[][]":



Cannot convert Array to Object[][]

Fig. 01 - Cannot convert Array to Object[][]


Un esempio in cui si può presentare la situazione che genera l'errore di cui sopra si ha quando si tenta di popolare le righe e le colonne di uno Spreadsheet utilizzando il metodo setValues con la seguente sintassi range.setValues(values);
Il valore di values, per il metodo setValues, è rappresentato da un array di array, ad esempio:

var mio_array = [['1', '2', '3'],['4', '5', '6']]

Ovvero tutti i singoli array contenenti i valori che andranno ad occupare ciascuna riga dello Spreadsheet devono essere contenuti all'interno di un array più esterno (per maggiori informazioni rimando alla documentazione ufficiale relativa al metodo setValues).

var arr = ['1', '2', '3'];

// Errato
var range = sheet.getRange(1, 1, 1,mio_array.length);
range.setValues(arr); // <-- ERRATO!!!!!

// Corretto
var range = sheet.getRange(1, 1, 1, mio_array.length);
range.setValues([arr]); // <-- CORRETTO

L'errore, in breve, è causato dalla mancanza delle parentesi quadre più esterne rappresentati l'array contenitore di tutti gli array passati al metodo.

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

scrivi un commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web