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