0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Task 8_1</title>
<script type="text/javascript">
function charRemover(item) {
var charsMoreThanTwoTimes = "";
var charsMoreThanTwoTimes2 = "";
var tmpString="";
var result = "";
var almostResult = "";
var nextWordBeginning = 0;
for (var a = 0; a < item.length; a++) {
if ((a == nextWordBeginning+1)&&(nextWordBeginning > 0)) {tmpString="";}
if ((a!=item.length-1)&&((item[a]!=' ') && (item[a]!=',') && (item[a]!='.') && (item[a]!=';') && (item[a]!=':') && (item[a]!='!') && (item[a]!='?')))
{
tmpString = tmpString + item[a];
}
else if ((a == item.length -1 ) && ((item[a]!=' ') && (item[a]!=',') && (item[a]!='.') && (item[a]!=';') && (item[a]!=':') && (item[a]!='!') && (item[a]!='?')))
{
tmpString = tmpString + item[a];
for (var j = 0; j < tmpString.length; j++)
{
var counter = 0;
for (var k = 0; k < tmpString.length; k++)
{
if (tmpString[k] == tmpString[j]) {counter++; }
}
if (counter == 1) {almostResult = almostResult + tmpString[j];}
if (counter > 1) { charsMoreThanTwoTimes = charsMoreThanTwoTimes + tmpString[j];}
}
}
else if ((a != item.length-1)&&((item[a]==' ') || (item[a]==',') || (item[a]=='.') || (item[a]==';') || (item[a]==':') || (item[a]=='!'))){
for (var j = 0; j < tmpString.length; j++)
{
var counter = 0;
for (var k = 0; k < tmpString.length; k++)
{
if (tmpString[k] == tmpString[j]) {counter++;}
}
if (counter == 1) {almostResult = almostResult + tmpString[j];}
if (counter > 1) { charsMoreThanTwoTimes = charsMoreThanTwoTimes + tmpString[j];}
}
almostResult = almostResult + item[a];
nextWordBeginning = a;
}
}
counter = 0;
//пройдемся еще раз и удалим символы, которые встречаются более одного раза
for (var i = 0; i < almostResult.length; i++)
{
var shoundCharToBeRemoved = false;
for (var j = 0 ; j < charsMoreThanTwoTimes.length; j++)
{
if (almostResult[i] == charsMoreThanTwoTimes[j]) {shoundCharToBeRemoved = true;}
}
if (shoundCharToBeRemoved == true) {}
else {result = result + almostResult[i];}
}
return result;
}
var sourceString = "У попа была собака";
var destString = charRemover(sourceString);
</script>
</head>
<body>
<script type="text/javascript">
document.write(destString);
</script>
</body>
</html>
Только что начал изучать JavaScript. Знаю, что говнокод, так что не судите строго !
Сама задача: Нanucaть функцuю, нa вxoд кoтoрoй nрuxoдuт cтрoкa, cocтoящaя uз неcкoлькux cлoв. cлoвa
рaзделены nрoбельнымu cuмвoлaмu (nрoбел, тaбуляцuя) u знaкaмu nреnuнaнuя (?!:;,.). Нужнo
вернуть cтрoку, в кoтoрoй будут удaлены вcе cuмвoлы, noвтoряющuеcя xoть в oднoм uз cлoв бoлее
oднoro рaзa.
ololenok,
22 Апреля 2016