Skip to content

Commit 1d308e8

Browse files
committed
[LES-11.7/st-compl] find-and-findIndex
Practice with "find/findIndex()" meth's. Finding books, IDs, "0" scores. Worth noting: - tasks 3 (one-line output). FS-dev: B-3 / JS basic
1 parent 293a131 commit 1d308e8

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

  • full-stack-dev/3-js-basic/11-arrays-iterations/11-7-find-and-findIndex
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Задание 1:
2+
// Есть массив с книгами. Напиши код, который найдет и выведет в консоль объект книги с названием 'Мастер и Маргарита'.
3+
4+
const books = [
5+
{ id: 'b1', title: 'Война и мир', author: 'Лев Толстой' },
6+
{ id: 'b2', title: 'Преступление и наказание', author: 'Фёдор Достоевский' },
7+
{ id: 'b3', title: 'Мастер и Маргарита', author: 'Михаил Булгаков' },
8+
];
9+
10+
const findBook = books.find((book) => book.title === 'Мастер и Маргарита');
11+
console.log(findBook); // { id: 'b3', title: 'Мастер и Маргарита', author: 'Михаил Булгаков' }
12+
13+
// Задание 2:
14+
// Нужно найти индекс задачи с id = 't-03' и, если такая задача найдена, вывести в консоль сообщение: Задача 'Позвонить маме' находится на позиции N, где N — это найденный индекс.
15+
16+
const tasks = [
17+
{ id: 't-01', text: 'Купить молоко' },
18+
{ id: 't-02', text: 'Заплатить за интернет' },
19+
{ id: 't-03', text: 'Позвонить маме' },
20+
{ id: 't-04', text: 'Починить кран' },
21+
];
22+
const requiredId = 't-03';
23+
24+
const taskIndex = tasks.findIndex((task) => task.id === requiredId);
25+
26+
if (taskIndex !== -1) {
27+
console.log(
28+
`Задача "${tasks[taskIndex].text}" находится на позиции ${taskIndex}.`
29+
);
30+
} else {
31+
console.log('Такой задачи не найдено!');
32+
}
33+
34+
// Задание 3:
35+
// Есть массив с результатами тестов. Некоторые участники не набрали ни одного балла (score: 0).
36+
// Нужно написать код, который проверяет, есть ли в массиве участник с нулевым результатом (score: 0), и выводит в консоль true или false.
37+
// Как это можно сделать и какой метод (find или findIndex) здесь будет самым надёжным?
38+
39+
const results = [
40+
{ name: 'Анна', score: 90 },
41+
{ name: 'Борис', score: undefined },
42+
{ name: 'Виктор', score: 0 },
43+
{ name: 'Галина', score: 75 },
44+
];
45+
46+
console.log(results.findIndex((result) => result.score === 0) !== -1); // true

0 commit comments

Comments
 (0)