13
Янв

Задачи по JavaScript с решениями: вывести различные символы двух строк

Категория: Универ

Программирование на языке JavaScript.

Задачи по JavaScript с решениями: вывести различные символы двух строк

Задача: Вывести различные символы двух строк (т.е. такие, какие есть только в одном из них).

Решение:

<!DOCTYPE>
<html>
<head>
<title>Задачи по JavaScript</title>
</head>
<body>
<script>
function f_click() {
var first = document.getElementById("1").value;
var second= document.getElementById("2").value;
var b_lines = document.getElementById('lines');
var S = first.split('');
var lj = S.length;
for (j = 0; j < lj; j++)
 if (second.indexOf(S[j]) != -1)
 {first = first.split (S[j]).join(''); second = second.split(S[j]).join('')}
b_lines.innerHTML=((first + second).split(''));
}
</script>
Введите 1 строку: <br />
<input id='1' name="login" type="text" size="25" maxlength="30" value="" /> <br />
Введите 2 строку: <br />
<input id='2' name="pd" type="text" size="25" maxlength="30" value="" /> <br />
<input type="button" name="enter" value="Расчет" onclick="f_click()" />
<div style="margin: 0 auto;width: 200px; font-size:25px" id="lines"></div>
</body>
</html>

Копируем выше описанный код в какой-нибудь текстовый редактор (лучше в Notepad++) и сохраняем файл в формате HTML.

Используемые функции и методы в коде:

document.getElementById(id) - возвращает элемент по заданному id для дальнейшей работы с ним.

.value - возвращает значение "value" элемента.

.split(x) - возвращает новый массив, а x строка или регулярное выражение, по которому разбивается строка

.length - длина массива, в данном случае длина строки.

.indexOf(x) - поиск x в строке слева направо. Если ничего не найдено, возвращает -1.

.join(x) - присоединяет все элементы массива в строку. x - разделитель между элементами, которые будет в строке.

.innerHTML - получает, изменяет содержание элемента.

Идея:

Вводим наши две строки в поля и нажимаем кнопку "Расчет", после чего срабатывает функция f_click(). В переменной first храним нашу первую строку, а в second - вторую. При помощи метода .split() из символов первой строки создаем новый массив S и в переменную lj записываем его длину. Далее в цикле for начинаем искать символы первой строки во второй при помощи .indexOf(). Если совпадение есть, то из первой и второй строки при помощи .split() и .join() убираем повторные символы. Ну и в конце просто выводим массивом наши различные символы двух строк.

Мой паблик в Вконтакте :)

Комментарии к записи Задачи по JavaScript с решениями: выв...