У меня есть рабочий код в JS для моего веб-приложения, который генерирует идентификационный номер отчета в произвольном формате с шаблоном NSAA - #### - #### - YYYY, где AA - любая буква, ####любое число, ГГГГ текущего года.Эта функция в JS цитируется ниже.
Меня попросили попытаться перенести на лист Google те же функции, что и в «пользовательской функции».
Хотя большая часть кода работает нормально, яполучить проблемы с indexOf
методами в GAS, и в целом я не уверен, правильно ли я это делаю.Буду признателен за подсказку.
Это код JS, который я пытаюсь воспроизвести в скрипте приложений:
let d = new Date();
const randomString = (length, chars) => {
let mask = '';
if (chars.indexOf('A') > -1) mask += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if (chars.indexOf('#') > -1) mask += '0123456789';
let result = '';
for (let i = length; i > 0; --i) result += mask[Math.round(Math.random() * (mask.length - 1))];
return result;
}
// Inserting report ID into appropriate fields
const reportNS = () => {
let reportIDNS = document.getElementById("reportIDNS");
reportIDNS.value = 'NS' + randomString(2, 'A') + '-' + randomString(4, '#') + '-' + randomString(4, '#') + '-' +
d.getFullYear();
}
Моя первая идея заключалась в том, чтобы поместить его в нечто вроде этого:
/**
*/
var d = new Date();
function randomString (length, chars) {
var mask = '';
if (chars.indexOf('A') > -1) mask += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if (chars.indexOf('#') > -1) mask += '0123456789';
var result = '';
for (var i = length; i > 0; --i)
result += mask[Math.round(Math.random() * (mask.length - 1))];
return result = 'NS' + randomString(2, 'A') + '-' + randomString(4, '#') + '-' + randomString(4, '#') + '-' + d.getFullYear();
}
Однако я получаю сообщение об ошибке
TypeError: Невозможно вызвать метод "indexOf" из неопределенного.
Буду признателен за подсказку об этом!