- Задачи на функции работы с массивами в JavaScript
- Учебник JavaScript
- Практика
- Работа с DOM
- Практика
- Некоторые продвинутые вещи
- Рекомендованное ES6
- Регулярки
- Разное
- Работа с канвасом
- Практика
- Контекст
- Drag-and-Drop
- Практика по ООП
- Практика
- Promise ES6
- Библиотека jQuery
- Примеры решения задач
- Задача
- Задача
- Задачи для решения
- Работа с concat
- Работа с reverse
- Работа с push, unshift
- Работа с shift, pop
- Работа с slice
- Работа с splice
- Работа с sort
- Работа с Object.keys
- Массив (Array) – Задачи и решения
- 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. Массив, содержащий все целые числа между start и end
- 30. Массив длин строковых элементов
- 31. Массив сумм чисел
- 32. Равные в сумме пары чисел
- 33. Массив из первых букв
- 34. Массив строк по три символа
- 35. Получить массив цифр по убыванию
- 36. Слияние массивов
- Pascal: Занятие № 6. Одномерные массивы (сложные задачи в Pascal)
Задачи на функции работы с массивами в JavaScript
Учебник JavaScript
Практика
Работа с DOM
Практика
Некоторые продвинутые вещи
Рекомендованное ES6
Некоторые видео могут забегать вперед, тк к этому месту учебника мы прошли еще не весь ES6. Просто пропускайте такие видео, посмотрите потом.
Регулярки
Разное
Работа с канвасом
Практика
Контекст
Drag-and-Drop
- Урок №
Введение, задач нет - Урок №
Основы
работы с ООП - Урок №
Наследование
классов в JavaScript
Продвинутая работа
с классами на JavaScript —> - Урок №
Применение
ООП при работе с DOM - Урок №
Практика
по ООП в JavaScript - Тут скоро будут еще уроки
по функциональному и прототипному
стилю ООП.
Практика по ООП
Ваша задача: посмотрите, попробуйте повторить.
Практика
Promise ES6
Библиотека jQuery
Тк. jQuery устаревает, объявляю эти уроки не обязательными и выношу в конец учебника (так по уровню уроки середины учебника, если что). В перспективе переедет в отдельный учебник по jq.
Перед решением задач изучите теорию к данному уроку.
Примеры решения задач
Задача
Задача. Даны два массива: [‘a’, ‘b’, ‘c’] и [1, 2, 3]. Объедините их вместе.
Решение: объединим эти массивы с помощью метода concat:
Задача
Задача. Дан массив [‘a’, ‘b’, ‘c’]. Добавьте ему в конец элементы 1, 2, 3.
Задачи для решения
Работа с concat
Даны два массива: [1, 2, 3] и [4, 5, 6]. Объедините их вместе.
Работа с reverse
Дан массив [1, 2, 3]. Сделайте из него массив [3, 2, 1].
Работа с push, unshift
Дан массив [1, 2, 3]. Добавьте ему в конец элементы 4, 5, 6.
Дан массив [1, 2, 3]. Добавьте ему в начало элементы 4, 5, 6.
Работа с shift, pop
Дан массив [‘js’, ‘css’, ‘jq’]. Выведите на экран первый элемент.
Дан массив [‘js’, ‘css’, ‘jq’]. Выведите на экран последний элемент.
Работа с slice
Дан массив [1, 2, 3, 4, 5]. С помощью метода slice запишите в новый элементы [1, 2, 3].
Дан массив [1, 2, 3, 4, 5]. С помощью метода slice запишите в новый элементы [4, 5].
Работа с splice
Дан массив [1, 2, 3, 4, 5]. С помощью метода splice преобразуйте массив в [1, 4, 5].
Дан массив [1, 2, 3, 4, 5]. С помощью метода splice запишите в новый массив элементы [2, 3, 4].
Дан массив [1, 2, 3, 4, 5]. С помощью метода splice сделайте из него массив [1, 2, 3, ‘a’, ‘b’, ‘c’, 4, 5].
Дан массив [1, 2, 3, 4, 5]. С помощью метода splice сделайте из него массив [1, ‘a’, ‘b’, 2, 3, 4, ‘c’, 5, ‘e’].
Работа с sort
Дан массив [3, 4, 1, 2, 7]. Отсортируйте его.
Работа с Object.keys
Дан объект . Получите массив его ключей.
Источник
Массив (Array) – Задачи и решения
Курсы Веб-вёрстка
Акция! -30%
Курс Фронтенд-разработчик -30%
Курсы Python-разработчик -40%
Разработчик игр на UNITY
Акция! -40%
Курс JavaScript/jQuery с нуля -30%
Курс Linux/GIT/Hosting -40%
Курс: Основы HTML и CSS
Курс: Разработка на C#
Курс: Python-разработчик с нуля
Осваивайте профессию, начните зарабатывать, а платите через год!
Курсы Python Акция! Бесплатно!
Станьте хакером на Python за 3 дня
Веб-вёрстка. CSS, HTML и JavaScript
Курс Bootstrap 4
Станьте веб-разработчиком с нуля
Очень многие задачи программирования основаны на манипулировании целыми коллекциями данных, и подраумевают свободное владение методами обработки массивов в JavaScript. Изучение этих методов является также отличным способом достижения очередного уровня мастерства в JavaScript.
1. Клонирование массива
Напишите функцию copyArr(arr) , которая копирует массив не изменяя иригинал.
2. Преобразование массива в строку
Напишите код, который преобразовывает и объединяет все элементы массива в одно строковое значение. Элементы массива будут разделены запятой. Получите результат двумя разными методами.
3. Двоеточие между нечётными числами
Пользователь вводит многозначное число через promt . Напишите функцию colonOdd(num), которая принимает число num в качестве аргумента и вставляет двоеточие (:) между двумя нечетными числами. Например, если вводится число 55639217, то на выход должно быть 5:563:921:7.
4. Замена регистра символов
Пользователь вводит строку кириллицей разного регистра. Напишите функцию, которая принимает строку в качестве аргумента и заменяет регистр каждого символа на противоположный. Например, если вводится «КаЖдЫй ОхОтНиК» , то на выходе должен быть массив [кАжДыЙ оХоТнИк] .
5. Удалить повторяющиеся элементы массива
Напишите функцию removeDuplicates(arr) , которая возвращает массив, в котором удалены повторяющиеся элементы из массива arr (игнорируйте чувствительность к регистру).
6. Найдите високосные годы
Високосным годом является каждый четвертый год и века начинаются только на высокостные года, отличие високосного года от обычного заключается в появлении 366-го дня. Напишите функцию chooseYears(start, end) , которая принимает в качестве аргументов диапозон лет и возвращает массив високосных лет в заданном диапазоне.
7. Отобразить элементы в случайном порядоке
Используя метод sort перепишите предсталенный ниже код, который с помощью цикла for случайно изменяет порядок расстановки элементов массива.
8. Получить первые элементы массива
Напишите функцию getFirst(array, n) , которая возвращает фрагмент массива, содержащий первые ‘n’ элементов массива.
9. Получить последние элементы массива
Напишите функцию getLast(array, n) , которая возвращает фрагмент массива, содержащий последние ‘n’ элементов массива.
10. Сумма элементов двух массивов
Напишите код, который создаёт массив элементов представляющих собой сумму соответствующих элементов заданных массивов.
11. Количество повторяющихся элементов в массиве
Напишите функцию countIdentic(arr) , которая возвращает количество повторяющихся элементов в массиве.
12. Разворачивание массива массивов
Напишите функцию expand(arr) , которая разворачивает вложенный массив любой глубины.
13. Объединить два массива без дублирования элементов
Напишите функцию union , которая возвращает массив состоящий только из уникальных элементов из каждого массива.
14. Разница между двумя массивами
Напишите функцию union , которая возвращает массив, содержащий все элементы arr1, которые не находятся в arr2 и наоборот.
15. Сортировка массива по убыванию
Напишите функцию compareNumbers(arr) , которая возвращает массив, элементы которого отсортированы по убыванию их значений.
16. Наиболее часто используемый элемент массива
Напишите код, который находит наиболее часто используемый элемент массива.
17. Сумма квадратов значений массива
Напишите функцию sumOfSquares(arr) , которая возвращает сумму квадратов значений массива.
18. Сумма и произведение значений массива
Напишите код, который определяет сумму и произведение значений массива.
19. Удаление ложных значений из массива
Напишите функцию filterFalse(arr) , которая очищает массив от ложных (false) значений: false, null, undefined, 0, –0, NaN и «» (пустя строка).
20. Сортировка массива объектов
Напишите код, который отсортирует массив объектов litmir по значению свойства title .
21. Найти пары чисел, сумма которых равна заданному значению
Напишите функцию findCouple(array, number) , которая ищет в массиве все пары целых чисел, сумма которых равна заданному значению.
22. Найти все значения данного свойства в массиве объектов
Напишите функцию propertyValue(array, key) , которая принимает в качестве аргументов массив объектов и имя свойства, а затем возвращает все значения данного свойства из массива объектов.
23. Общая стартовая подстрока в массиве строк
Напишите функцию startingSubstring(arr) , которая возвращает общую начальную подстроку в массиве строк.
24. Удалить определенный элемент из массива
Напишите функцию removeItem(arr, num) , которая удаляет определенный элемент из массива.
25. Вернуть случайный элемент из массива
Напишите функцию randomElement(arr) , которая возвращает случайный элемент из массива.
26. Массив с заданным количеством элементов
Напишите функцию arrayFilled(len, value) , которая возвращает массив с заданным количеством len элементов value .
27. Переместить элемент массива из одной позиции в другую
Напишите функцию moveElement(arr,from,to) , которая позволяет переместить элемент массива из позиции from в позицию to .
28. Массив указанной длины
Напишите функцию generateNumbers(start, len) , которая генерирует массив заданной длины len , заполненный целыми числами, где каждое число больше предыдущего на единицу.
29. Массив, содержащий все целые числа между start и end
Напишите функцию generateRange(start, end) , которая генерирует массив заданной длины len , заполненный целыми числами. Каждое последующее число в массиве должно быть больше предыдущего на единицу.
30. Массив длин строковых элементов
Используя метод map() напишите код, который получает из массива строк новый массив, содержащий их длины.
31. Массив сумм чисел
Имеется массив простых чисел: numbers = [2, 3, 5, 7, 11, 13, 17, 19]. Использую метод reduce() напишите функцию currentSums(numbers), которая возвращает новый массив из такого же числа элементов, в котором на каждой позиции будет находиться сумма элементов массива numbers до этой позиции включительно.
32. Равные в сумме пары чисел
Напишите код, который получает из массива чисел новый массив, содержащий пары чисел, которые в сумме должны быть равны семи: (0:7), (1:6) и т.д.
33. Массив из первых букв
Перед вами переменная, содержащая строку. Напишите код, создащий массив, который будет состоять из первых букв слов строки str. При написании данного кода, позаимствуйте у объека Array метод filter.
34. Массив строк по три символа
Перед вами переменная, содержащая строку. Напишите код, создащий массив, который будет состоять из строк, состоящих из предыдущего, текущего и следующего символа строки str. При написании данного кода, позаимствуйте у объека Array метод map.
35. Получить массив цифр по убыванию
Напишите код, преобразующий массив цифр, которые располагаются неупорядоченно, в массив цифр расположенных по убыванию их значений.
36. Слияние массивов
Напишите код, объединяющий три массива цифр, и располагающий, с помощью метода pop(), цифры в полученном массиве в порядке убывания их значений через пробел.
Источник
Pascal: Занятие № 6. Одномерные массивы (сложные задачи в Pascal)
Для начала рассмотрим не сильно сложную задачу с одномерными массивами в Pascal:
Результат:
Подумайте, пригодится ли в программе счетчик или нет, нужны ли дополнительные переменные.
const m = 20; var arr: array[1..m] of byte; max_index: byte; i: byte; begin randomize; for i := 1 to m do begin arr[i] := random(100); write (arr[i]:3); end; max_index := 1; for i := 2 to m do if arr[i] > arr[max_index] then begin max_index := i; end; writeln; writeln (‘Max = ‘,arr[max_index]); writeln (‘position: ‘, max_index); end.
Результат:
[Название файла: task15.pas ]
[Название файла: task16.pas ]
Следующую сложную задачу с одномерными массивы следует разобрать подробно.
Сложность этого задания состоит в том, что нужно не просто удалять элементы, значения которых Показать решение
const n=20; var arr: array[1..n] of integer; i,j,m:integer; begin randomize; for i:=1 to n do begin arr[i]:=random(50); write(arr[i]:4); end; writeln; m:=n; i:=1; while i n переменной m требуется, т.к. n — константа и не может быть изменена. Поскольку при «просмотре» массива в цикле while некоторые элементы будут удаляться, то значение m , обозначающее длину массива, будет уменьшаться.
[Название файла: task18.pas ]
Пример:
[Название файла: task19.pas ]
- Определите в массиве A номер первого элемента, равного X .
- Определите номер первого элемента, равного X , в первой половине массива A (массив имеет чётное число элементов).
- Определите номер первого элемента, равного X , во второй половине массива A (массив имеет чётное число элементов).
[Название файла: task20.pas ]
[Название файла: task21.pas ]
Рассмотрим алгоритм решения:
[Название файла: task22.pas ]
[Название файла: task23.pas ]
Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:
Источник