From fde4b39680ff889e4d638e5a5cced085965b80ca Mon Sep 17 00:00:00 2001 From: Krio Date: Sat, 11 Sep 2021 13:32:17 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- labs/lab9/desc.json | 15 +++++++++++---- labs/lab9/main.js | 30 +++++++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/labs/lab9/desc.json b/labs/lab9/desc.json index 9ba7c48..f1019df 100644 --- a/labs/lab9/desc.json +++ b/labs/lab9/desc.json @@ -1,14 +1,21 @@ { "number": 9, - "task": "", + "task": "Создайте функцию, которая принимает массив имен супергероев и возвращает массив только имен супергероев, начинающихся на «человек». Верните имена в алфавитном порядке.", "vars": [ [ { - "name": "", - "desc": "", + "name": "names", + "desc": "Имена супергероев, разделенных запятой", "data": "" } + ], + [ + { + "name": "names", + "desc": "Имена супергероев, разделенных запятой", + "data": "Баба Нюра, Супермен, Человек Паук, человек невидимка" + } ] ], - "complete": false + "complete": true } \ No newline at end of file diff --git a/labs/lab9/main.js b/labs/lab9/main.js index 466be91..f800956 100644 --- a/labs/lab9/main.js +++ b/labs/lab9/main.js @@ -3,5 +3,33 @@ function main(formName) { let result = document.getElementById("result"); - result.textContent = "Результат: неопределенно"; + let names = document.forms[formName].elements[0].value; + if (!(typeof names === "string")) { + result.textContent = "Ошибка: names не является строкой!"; + return; + } + + result.textContent = "Результат: " + getNewNames(names); +} + +function getNewNames(names) { + let result = []; + + names = names.split(","); + names.forEach( elem => { + if ( elem.trim().toLowerCase().startsWith("человек") ) { + result.push( elem.trim() ); + } + }); + + result.forEach( (elem, index, array) => + array[index] = elem.split(/\s+/).map(word => word[0].toUpperCase() + word.substring(1)).join(' ') + ); + result.sort(); + + if (result.length == 0) { + return "подходящие имена отсутствуют"; + } else { + return result.join(', '); + } }