Skip to content

Commit 0438193

Browse files
committed
[LES-13.8.1/st-compl] method-Object-fromEntries
Practice with "Object.fromEntries()" meth, getting obj's back. Worth noting: - this method, its possibilities. FS-dev: B-3 / JS basic
1 parent 1f87593 commit 0438193

File tree

1 file changed

+62
-0
lines changed
  • full-stack-dev/3-js-basic/13-objects/13-8-1-method-Object-fromEntries

1 file changed

+62
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
// Задание 1:
2+
// У тебя есть объект Map, в котором хранится конфигурация пользователя.
3+
// Напиши одну строку кода, которая преобразует этот userConfigMap в обычный JavaScript объект с именем userConfigObject, используя Object.fromEntries().
4+
5+
const userConfigMap = new Map();
6+
userConfigMap.set('theme', 'dark');
7+
userConfigMap.set('notifications', true);
8+
userConfigMap.set('language', 'en');
9+
10+
console.log(userConfigMap);
11+
/*
12+
Map(3) {
13+
'theme' => 'dark',
14+
'notifications' => true,
15+
'language' => 'en'
16+
}
17+
*/
18+
19+
const userConfigObject = Object.fromEntries(userConfigMap);
20+
console.log(userConfigObject); // { theme: 'dark', notifications: true, language: 'en' }
21+
22+
// Задание 2:
23+
// У тебя есть объект playerScores, где хранятся очки игроков.
24+
// Используя связку Object.entries(), .filter() и Object.fromEntries(), создай новый объект highScores, в котором будут только те игроки, чей счет больше 100.
25+
26+
const playerScores = {
27+
alex: 150,
28+
bob: 85,
29+
charlie: 200,
30+
diana: 99,
31+
};
32+
33+
const highScores = Object.fromEntries(
34+
Object.entries(playerScores).filter(([_, value]) => value > 100)
35+
);
36+
37+
console.log(highScores); // { alex: 150, charlie: 200 }
38+
39+
// Задание 3:
40+
// У тебя есть объект productSKU, который сопоставляет названия продуктов с их уникальными артикулами (SKU).
41+
// Представь, что тебе нужно "перевернуть" этот объект для быстрого поиска. Создай новый объект skuToProduct, в котором ключами будут артикулы, а значениями — названия продуктов.
42+
// Подсказка: Тебе снова понадобится связка Object.entries(), Object.fromEntries(), но в середине будет метод .map() для того, чтобы поменять местами элементы в каждой паре.
43+
44+
const productSKU = {
45+
Laptop: 'SKU-LAP-123',
46+
Mouse: 'SKU-MOU-456',
47+
Keyboard: 'SKU-KEY-789',
48+
};
49+
50+
const skuToProduct = Object.fromEntries(
51+
Object.entries(productSKU).map(([key, value]) => [value, key])
52+
);
53+
54+
console.log(skuToProduct);
55+
56+
/*
57+
{
58+
'SKU-LAP-123': 'Laptop',
59+
'SKU-MOU-456': 'Mouse',
60+
'SKU-KEY-789': 'Keyboard'
61+
}
62+
*/

0 commit comments

Comments
 (0)