2 changed files with 70 additions and 0 deletions
@ -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 |
||||||
|
} |
||||||
@ -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…
Reference in new issue