Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ниже — решения 10 задач по массивам в JavaScript. Для каждой задачи приведён подробный алгоритм и готовый код.
- ---
- ### Задача 1. Найти длину массива
- **Условие:** дан массив `arr`. Вывести в консоль его длину.
- **Решение:**
- 1. Берём свойство `length` у массива.
- 2. Выводим результат.
- ```js
- const arr = [1, 2, 3, 4, 5];
- console.log(arr.length); // 5
- ```
- ---
- ### Задача 2. Доступ к элементу по индексу
- **Условие:** дан массив `colors = ['red', 'green', 'blue']`. Вывести в консоль второй цвет.
- **Решение:**
- 1. Индексы в JS начинаются с 0.
- 2. Второй элемент имеет индекс 1.
- ```js
- const colors = ['red', 'green', 'blue'];
- console.log(colors[1]); // 'green'
- ```
- ---
- ### Задача 3. Последний элемент массива
- **Условие:** дан массив `nums`. Вывести в консоль его последний элемент.
- **Решение:**
- 1. Узнаём длину через `nums.length`.
- 2. Последний индекс = `length - 1`.
- 3. Достаём `nums[nums.length - 1]`.
- ```js
- const nums = [10, 20, 30, 40];
- console.log(nums[nums.length - 1]); // 40
- ```
- ---
- ### Задача 4. Поиск индекса методом `indexOf`
- **Условие:** дан массив `letters = ['a','b','c','d','e']`. Найти индекс буквы `'c'`.
- **Решение:**
- 1. Вызываем `letters.indexOf('c')`.
- 2. Если элемент есть — получим его позицию, иначе –1.
- ```js
- const letters = ['a','b','c','d','e'];
- const idx = letters.indexOf('c');
- console.log(idx); // 2
- ```
- ---
- ### Задача 5. Проверка наличия элемента
- **Условие:** дан массив `items` и переменная `x`. Нужно вывести `"Есть"` или `"Нет"`.
- **Решение:**
- 1. `items.indexOf(x)` вернёт ≥ 0, если есть.
- 2. Пишем условие.
- ```js
- const items = ['apple','banana','orange'];
- const x = 'banana';
- if (items.indexOf(x) !== -1) {
- console.log('Есть');
- } else {
- console.log('Нет');
- }
- // Выведет 'Есть'
- ```
- ---
- ### Задача 6. Добавить новый элемент в конец
- **Условие:** дан массив `arr` и значение `val`. Добавить `val` в конец и вывести результат.
- **Решение:**
- 1. Используем метод `push(val)`.
- 2. Затем можно вывести сам массив или вернуть его.
- ```js
- const arr = [1,2,3];
- const val = 4;
- arr.push(val);
- console.log(arr); // [1,2,3,4]
- ```
- ---
- ### Задача 7. Вставить элемент перед найденным
- **Условие:** есть массив `nums` и число `n`. Нужно перед первым вхождением `n` вставить `0`.
- **Решение:**
- 1. Найти индекс `i = nums.indexOf(n)`.
- 2. Если `i !== -1`, вызвать `nums.splice(i, 0, 0)`.
- ```js
- const nums = [5, 7, 9, 7];
- const n = 7;
- const i = nums.indexOf(n);
- if (i !== -1) {
- nums.splice(i, 0, 0);
- }
- console.log(nums); // [5, 0, 7, 9, 7]
- ```
- ---
- ### Задача 8. Удалить элемент по значению
- **Условие:** есть массив `arr` и значение `x`. Удалить из массива первое вхождение `x`.
- **Решение:**
- 1. Найти `i = arr.indexOf(x)`.
- 2. Если найдено, `arr.splice(i, 1)`.
- ```js
- const arr = ['a','b','c','b'];
- const x = 'b';
- const i = arr.indexOf(x);
- if (i !== -1) {
- arr.splice(i, 1);
- }
- console.log(arr); // ['a','c','b']
- ```
- ---
- ### Задача 9. Скопировать часть массива
- **Условие:** есть массив `arr`. Нужно получить новый массив из элементов с индексами от `2` до `4` (включительно).
- **Решение:**
- 1. Использовать `slice(start, end)`, где `end` — индекс после последнего нужного.
- 2. Для включения до 4-го: `slice(2, 5)`.
- ```js
- const arr = [10,20,30,40,50,60];
- const sub = arr.slice(2, 5);
- console.log(sub); // [30, 40, 50]
- ```
- ---
- ### Задача 10. Обход массива и вывод индексов
- **Условие:** дан массив `arr`. Нужно в цикле вывести в консоль строки вида `"Элемент X находится на индексе Y"`.
- **Решение:**
- 1. Используем `for (let i = 0; i < arr.length; i++)`.
- 2. На каждой итерации выводим `arr[i]` и `i`.
- ```js
- const arr = ['a','b','c'];
- for (let i = 0; i < arr.length; i++) {
- console.log(`Элемент ${arr[i]} находится на индексе ${i}`);
- }
- // Вывод:
- // Элемент a находится на индексе 0
- // Элемент b находится на индексе 1
- // Элемент c находится на индексе 2
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement