Browse Source

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

master v1.3.0
Krio 4 years ago
parent
commit
a6cd77e00b
  1. 44
      labs/lab3/desc.json
  2. 26
      labs/lab3/main.js

44
labs/lab3/desc.json

@ -0,0 +1,44 @@
{
"number": "3",
"task": "Напишите функцию, которая меняет местами все слова в предложении, начинающиеся с определенной буквы.",
"vars": [
[
{
"name": "text",
"desc": "Исходное предложение",
"data": ""
},
{
"name": "letter",
"desc": "Первая буква заменяемых слов",
"data": ""
}
],
[
{
"name": "text",
"desc": "Исходное предложение",
"data": "Петр шел по паперти и милостню просил"
},
{
"name": "letter",
"desc": "Первая буква заменяемых слов",
"data": "П"
}
],
[
{
"name": "text",
"desc": "Исходное предложение",
"data": "Мама мыла раму, а Марина пошла в молл"
},
{
"name": "letter",
"desc": "Первая буква заменяемых слов",
"data": "М"
}
]
],
"scriptpath": "labs/lab3/main.js",
"complete": true
}

26
labs/lab3/main.js

@ -0,0 +1,26 @@
"use strict";
function main(formName) {
let result = document.getElementById("result");
let text = document.forms[formName].elements[0].value;
let letter = document.forms[formName].elements[1].value;
result.textContent = "Результат: " + changeText(text, letter);
}
function changeText(text, letter) {
let result = text.split(" ");
let words = result.filter( elem => matchWord(elem, letter) );
result.forEach( (elem, index, array) =>
array[index] = matchWord(elem, letter) ? getWord(words) : elem );
return result.join(" ");
}
function matchWord(word, letter) {
return word.charAt(0).toUpperCase() == letter.toUpperCase()
}
function getWord(words) {
let index = Math.floor(Math.random() * words.length);
return words.splice(index, 1);
}
Loading…
Cancel
Save