Задача №3. Javascript поиск одинаковых чисел в массивах
Открываем рубрику “Колян учится на программиста” задачей из домашнего задания будущего веб-девелопера.
В процессе решения задачи студент знакомится с объявлением переменных, некоторыми операторами, циклами, массивами.
Задача №3
Реализовать алгоритм. Дано два массива чисел с индексами от 0 до N, необходимо вывести на экран все числа, которые одновременно присутствуют в обоих массивах.
Решение задачи оформить в виде кода на javascript.
Алгоритм решения. Нужно сравнить каждое значение массива 1 с каждым значением массива 2. Т.е. сначала берем первый элемент массива 1 и сравниваем его со значениями массива 2. Если во втором массиве находится такое же число, то помещаем его в результирующую строку для последующего вывода на экран. Берем второй элемент массива 1 и сравниваем его со значениями из массива 2… И т.д. пока не будут пройдены все элементы массива 1.
Реализуется данный алгоритм с помощью вложенных циклов. Внешний цикл – проход по элементам массива 1; внутренний – цикл – проход по элементам массива 2.
Ниже представлен код на javascript с подробными комментариями.
1 2 3 4 5 6 7 8 9 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 |
/* объявляем исходные массивы и присваиваем им произвольные значения * в образовательных целях массивы объявлены по разному - * двумя эквивалентными способами * (лучше использовать первый, но знать и о втором) */ var array_1 = [1, 2, 3, 5, 7, 9, 10]; var array_2 = new Array(1, 4, 3, 5, 8, 9, 0); /* объявляем строковую переменную для результатов * и присваиваем ей пустое значение */ var str_res = ''; /* метод перебора во вложенных циклах */ for (var i in array_1) { for (var j in array_2) { /* сравнение текущего значения i-ого элемента массива 1 * со значением j-ого элемента массива 2 */ if (array_1[i] == array_2[j]) { /* если значения совпали, то помещаем данное число * в результирующую строку str_res * и после значения добавляем разделитель - '; ' * точку с запятой и пробел, * чтобы наша результирующая строка красивей и * читабельней выглядела на экране */ str_res += array_1[i] + '; '; } } } // выводим результирующую строку на экран alert(str_res); |
Решение не претендует на уникальность. Надеюсь, достаточно подробно и понятно описал.
Коляну пожелаем удачи в этом нелегком, но интересном деле!
Свежие комментарии