|
| 1 | +'use strict'; |
| 2 | + |
| 3 | +// Задание 1: |
| 4 | +// 1. Создай переменную priceMap (типа Map) на основе pricesObj. |
| 5 | +// 2. Добавь в эту мапу новый товар 'grape' с ценой 300. |
| 6 | +// 3. Преобразуй получившуюся мапу обратно в обычный объект и сохрани в переменную finalObj. |
| 7 | +// 4. Выведи finalObj в консоль. |
| 8 | + |
| 9 | +const pricesObj = { |
| 10 | + banana: 100, |
| 11 | + apple: 200, |
| 12 | + pear: 150, |
| 13 | +}; |
| 14 | + |
| 15 | +const priceMap = new Map(Object.entries(pricesObj)); |
| 16 | +priceMap.set('grape', 300); |
| 17 | + |
| 18 | +const finalObj = Object.fromEntries(priceMap); |
| 19 | + |
| 20 | +console.log(finalObj); // { banana: 100, apple: 200, pear: 150, grape: 300 } |
| 21 | + |
| 22 | +// Задание 2: |
| 23 | +// Нам нужно подготовить простой объект для отправки на сервер, но в него должны попасть только студенты, которые сдали экзамен (балл 50 и выше). |
| 24 | +// 1. Создай scoresMap через литеральное наполнение (массив массивов) с данными: |
| 25 | +// - 'Ivan': 40 |
| 26 | +// - 'Anna': 85 |
| 27 | +// - 'Oleg': 55 |
| 28 | +// 2. Используя цепочку методов (конвертация в массив -> фильтрация -> конвертация в объект), создай переменную passedObj. |
| 29 | +// 3. В passedObj должны остаться только Anna и Oleg в формате обычного объекта. |
| 30 | +// Подсказка: Object.fromEntries() умеет "съедать" не только Map, но и обычный массив пар, который вернёт тебе .filter(). |
| 31 | + |
| 32 | +const scoresMap = new Map([ |
| 33 | + ['Ivan', 40], |
| 34 | + ['Anna', 85], |
| 35 | + ['Oleg', 55], |
| 36 | +]); |
| 37 | + |
| 38 | +// console.log(scoresMap); // Map(3) { 'Ivan' => 40, 'Anna' => 85, 'Oleg' => 55 } |
| 39 | +// console.log(Array.from(scoresMap)); // [ [ 'Ivan', 40 ], [ 'Anna', 85 ], [ 'Oleg', 55 ] ] |
| 40 | +// console.log([...scoresMap]); // [ [ 'Ivan', 40 ], [ 'Anna', 85 ], [ 'Oleg', 55 ] ] |
| 41 | + |
| 42 | +const passedObj = Object.fromEntries( |
| 43 | + // [...scoresMap].filter(([_, score]) => score > 50) |
| 44 | + Array.from(scoresMap).filter(([_, score]) => score > 50) |
| 45 | +); |
| 46 | + |
| 47 | +console.log(passedObj); // { Anna: 85, Oleg: 55 } |
0 commit comments