Browse Source

Добавлена работа 8

master
Krio 4 years ago
parent
commit
cb7ffc61f9
  1. 15
      labs/lab8/desc.json
  2. 25
      labs/lab8/main.js

15
labs/lab8/desc.json

@ -1,14 +1,21 @@
{ {
"number": 8, "number": 8,
"task": "", "task": "Создайте функцию, которая принимает одну строку в качестве аргумента и возвращает упорядоченный массив, содержащий индексы всех заглавных букв в строке.",
"vars": [ "vars": [
[ [
{ {
"name": "", "name": "s",
"desc": "", "desc": "Разбираемая строка",
"data": "" "data": ""
} }
],
[
{
"name": "s",
"desc": "Разбираемая строка",
"data": "Мама Мыла Раму"
}
] ]
], ],
"complete": false "complete": true
} }

25
labs/lab8/main.js

@ -3,5 +3,28 @@
function main(formName) { function main(formName) {
let result = document.getElementById("result"); let result = document.getElementById("result");
result.textContent = "Результат: неопределенно"; let s = document.forms[formName].elements[0].value;
if (!(typeof s === "string")) {
result.textContent = "Ошибка: s не является строкой!";
return;
}
result.textContent = "Результат: " + countUpperChars(s);
}
function countUpperChars(s) {
let result = [];
let pattern = /^[A-ZА-Я]+$/;
Array.from(s).forEach( (elem, index) => {
if (pattern.test(elem)) {
result.push(index);
}
});
if (result.length == 0) {
return "заглавные буквы отсутствуют";
} else {
return result;
}
} }

Loading…
Cancel
Save