
Google Sheets е многофункционален инструмент, предлагащ безброй функции и формули, които помагат при компилирането, изчисляването и анализирането на данни. Една такава функция е възможността за манипулиране на текст чрез различни формули. Често срещано искане е да премахнете първия знак от клетка. Това може да изглежда объркващо, ако не сте запознати с Google Sheets или неговия език-пазител – Google Apps Script, който използва вариант на Javascript, подобен на Typescript. Но не се притеснявайте, в публикацията ще ви преведем как да го направите, обяснявайки стъпките ясно и кратко.
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); }
Функцията по-горе, `removeFirstCharacter`, приема един единствен аргумент – sheetName. Това е името на листа в документа на Google Таблици, от който искате да премахнете първия знак.
Разбиране на Кодекса
Първо, получаваме препратка към листа, като извикаме `SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName)`. След това получаваме обект Range, представляващ всички клетки в листа, като извикваме метода `getDataRange()`.
Методът `getValues()` връща двуизмерен масив, като всеки подмасив представлява ред в листа.
След това използваме функцията `map` два пъти, веднъж за външния масив (редове) и веднъж за всеки вътрешен масив (клетки в ред). За всяка клетка, която е низ, извикваме метода `substring()` с 1 като индекс, от който да започнем, ефективно премахвайки първия знак.
Накрая използваме „range.setValues(values)“, за да запишем актуализираните данни обратно в листа.
Google Apps Script и неговата връзка с Typescript
Google Apps Script, езикът, на който са написани формулите на Google Sheets, и Typescript, и двата имат своите корени в Javascript. Всъщност Typescript е надмножество на Javascript, разширявайки езика със статични типове, които са полезни в големи кодови бази, където са необходими повишена безопасност и инструменти.
Google Apps Script е базиран на Javascript 1.6, с някои части от 1.7 и 1.8 и предоставя по-лесни начини за автоматизиране на задачи в продуктите на Google.
Манипулиране на измерения и масиви в Typescript
В кода, написан по-горе, ние използвахме многомерни масиви (масив от масиви), което е обща структура от данни, използвана в много езици за програмиране, включително Typescript.
Това, което прави подхода на Typescript към тази класическа структура от данни уникален, е неговата способност за проверка на типа. С Typescript можете да гарантирате, че вашите масиви, дори многоизмерни, съдържат данни от определен тип.
С безопасността на типа на Typescript и простотата на Google Apps Script можете етично да проектирате точни, широкомащабни приложения, насърчавайки ефективността и експертизата във вашия набор от инструменти за програмиране. Това е синергията между простота и мащаб, която е в основата на голяма част от Google Sheets и неговите формули за манипулиране на текст.
Array.method.map()
В областта на програмирането Array.prototype.map() не е извънземна функция. Той е често срещан сред програмистите поради полезността му при създаване на нов масив, попълнен с резултатите от извикване на дадена функция за всеки елемент в масива. По същия начин в нашия код сме внедрили функцията array.map() за манипулиране на масиви – създаване на нов масив чрез премахване на първия знак от всеки елемент от низ.