Google Sheets je svestran alat, koji nudi bezbroj funkcija i formula za pomoć pri sastavljanju, izračunavanju i analizi podataka. Jedna takva karakteristika je mogućnost manipulacije tekstom kroz različite formule. Uobičajeni zahtjev je uklanjanje prvog znaka iz ćelije. Ovo bi moglo izgledati zbunjujuće ako niste upoznati sa Google Sheets-om ili njegovim zaštitnim jezikom – Google Apps Script, koji koristi varijaciju Javascript-a, sličan Typescript-u. Ali ne brinite, u postu ćemo vas provesti kroz kako to učiniti, objašnjavajući korake jasno i sažeto.
function removeFirstCharacter(sheetName: string) {
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
let range = sheet.getDataRange();
let values = range.getValues();
values = values.map(row => row.map(cell => typeof cell === 'string' ? cell.substring(1) : cell));
range.setValues(values);
}
Funkcija iznad, `removeFirstCharacter`, uzima jedan argument – ime lista. Ovo je naziv lista u dokumentu Google Sheets iz kojeg želite ukloniti prvi znak.
Razumijevanje Kodeksa
Prvo, dobijamo referencu na list pozivanjem `SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName)`. Zatim dobijamo objekat Range koji predstavlja sve ćelije u listu pozivanjem metode `getDataRange()`.
Metoda `getValues()` vraća dvodimenzionalni niz, pri čemu svaki podniz predstavlja red na listu.
Zatim koristimo funkciju `map` dva puta, jednom za vanjski niz (redove) i jednom za svaki unutrašnji niz (ćelije u redu). Za svaku ćeliju koja je string, pozivamo metodu `substring()`, sa 1 kao indeksom za početak, efektivno uklanjajući prvi znak.
Konačno, koristimo `range.setValues(values)` da zapišemo ažurirane podatke natrag na list.
Google Apps Script i njegova relevantnost za Typescript
Google Apps Script, jezik na kojem se pišu formule Google Sheets i Typescript, oba imaju svoje korijene u Javascript-u. U stvari, Typescript je nadskup Javascript-a, koji proširuje jezik statičkim tipovima, koji su korisni u velikim bazama koda, gdje je potrebna povećana sigurnost i alati.
Google Apps Script je baziran na Javascriptu 1.6, s nekim dijelovima 1.7 i 1.8 i pruža jednostavnije načine za automatizaciju zadataka u svim Google proizvodima.
Manipulacija dimenzijama i nizom u Typescript-u
U kodu napisanom iznad, koristili smo višedimenzionalne nizove (niz nizova), što je uobičajena struktura podataka koja se koristi u mnogim programskim jezicima, uključujući Typescript.
Ono što Typescript-ovo preuzimanje ove klasične strukture podataka čini jedinstvenim je njegova sposobnost provjere tipa. Pomoću Typescript-a možete osigurati da vaši nizovi, čak i višedimenzionalni, sadrže podatke određenog tipa.
Sa Typescript-ovom sigurnošću tipova i jednostavnošću Google Apps Script-a, možete etički projektirati precizne aplikacije velikih razmjera, podstičući efikasnost i stručnost u svom kompletu programskih alata. Upravo je ta sinergija između jednostavnosti i obima koja podupire većinu Google Sheets-a i njegovih formula za manipulaciju tekstom.
Array.method.map()
U domenu programiranja, Array.prototype.map() nije vanzemaljska funkcija. Uobičajena je među programerima zbog svoje korisnosti u kreiranju novog niza popunjenog rezultatima pozivanja date funkcije na svakom elementu u nizu. Isto tako, u našem kodu smo implementirali funkciju array.map() za manipulaciju nizom – kreiranje novog niza uklanjanjem prvog znaka iz svakog elementa niza.