You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
//now readMessages has 1 element (technically memory may be cleaned later)
25
+
//nu har readMessages 1 element (teknisk set kan hukommelsen ryddes senere)
26
26
```
27
27
28
-
The`WeakSet`allows to store a set of messages and easily check for the existence of a message in it.
28
+
Et`WeakSet`tillader at gemme et sæt af beskeder og nemt kontrollere, om en besked findes i det.
29
29
30
-
It cleans up itself automatically. The tradeoff is that we can't iterate over it, can't get "all read messages" from it directly. But we can do it by iterating over all messages and filtering those that are in the set.
30
+
Det rydder automatisk op i sig selv. Ulempen er, at vi ikke kan iterere over det, og vi kan ikke få "alle læste beskeder" direkte fra det. Men vi kan gøre det ved at iterere over alle beskeder og filtrere dem, der er i sættet.
31
31
32
-
Another, different solution could be to add a property like`message.isRead=true`to a message after it's read. As messages objects are managed by another code, that's generally discouraged, but we can use a symbolic property to avoid conflicts.
32
+
En anden, forskellig løsning kunne være at tilføje en egenskab som`message.isRead=true`til en besked, efter den er læst. Da beskedobjekter styres af en anden kode, er det generelt ikke anbefalet, men vi kan bruge en symbolsk egenskab for at undgå konflikter.
33
33
34
-
Like this:
34
+
Som dette:
35
35
```js
36
-
//the symbolic property is only known to our code
36
+
//den symbolske egenskab er kun kendt af vores kode
37
37
let isRead =Symbol("isRead");
38
38
messages[0][isRead] =true;
39
39
```
40
40
41
-
Now third-party code probably won't see our extra property.
41
+
Nu vil 3de-parts kode sandsynligvis ikke se vores ekstra egenskab.
42
42
43
-
Although symbols allow to lower the probability of problems, using `WeakSet`is better from the architectural point of view.
43
+
Selvom symboler reducerer sandsynligheden for problemer, er brugen af `WeakSet`bedre fra et arkitektonisk synspunkt.
Copy file name to clipboardExpand all lines: 1-js/05-data-types/08-weakmap-weakset/01-recipients-read/task.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,22 +2,22 @@ importance: 5
2
2
3
3
---
4
4
5
-
# Store "unread" flags
5
+
# Opbevar "ulæste" flag
6
6
7
-
There's an array of messages:
7
+
Her er et array af beskeder:
8
8
9
9
```js
10
10
let messages = [
11
-
{text:"Hello", from:"John"},
12
-
{text:"How goes?", from:"John"},
13
-
{text:"See you soon", from:"Alice"}
11
+
{text:"Hej", from:"John"},
12
+
{text:"Hvordan går det?", from:"John"},
13
+
{text:"Vi ses snart", from:"Alice"}
14
14
];
15
15
```
16
16
17
-
Your code can access it, but the messages are managed by someone else's code. New messages are added, old ones are removed regularly by that code, and you don't know the exact moments when it happens.
17
+
Din kode kan tilgå det, men beskederne styres af en andens kode. Nye beskeder tilføjes, gamle fjernes regelmæssigt af den kode, og du kender ikke de præcise tidspunkter, hvor det sker.
18
18
19
-
Now, which data structure could you use to store information about whether the message "has been read"? The structure must be well-suited to give the answer "was it read?" for the given message object.
19
+
Hvilken datastruktur kunne du bruge til at gemme information om, hvorvidt beskeden "er blevet læst"? Strukturen skal være velegnet til at give svaret "blev den læst?" for det givne beskedobjekt.
20
20
21
-
P.S. When a message is removed from `messages`, it should disappear from your structure as well.
21
+
P.S. Når en besked fjernes fra `messages`, skal den også forsvinde fra din struktur.
22
22
23
-
P.P.S. We shouldn't modify message objects, add our properties to them. As they are managed by someone else's code, that may lead to bad consequences.
23
+
P.P.S. Vi bør ikke ændre beskedobjekterne ved at tilføje vores egne egenskaber til dem. Da de styres af en andens kode, kan det føre til uønskede konsekvenser.
Copy file name to clipboardExpand all lines: 1-js/05-data-types/08-weakmap-weakset/02-recipients-when-read/task.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,20 +2,20 @@ importance: 5
2
2
3
3
---
4
4
5
-
# Store read dates
5
+
# Gem datoer for læsning
6
6
7
-
There's an array of messages as in the [previous task](info:task/recipients-read). The situation is similar.
7
+
Der er et array af beskeder som i [forrige opgave](info:task/recipients-read). Situationen er lignende.
8
8
9
9
```js
10
10
let messages = [
11
-
{text:"Hello", from:"John"},
12
-
{text:"How goes?", from:"John"},
13
-
{text:"See you soon", from:"Alice"}
11
+
{text:"Hej", from:"John"},
12
+
{text:"Hvordan går det?", from:"John"},
13
+
{text:"Vi ses snart", from:"Alice"}
14
14
];
15
15
```
16
16
17
-
The question now is: which data structure you'd suggest to store the information: "when the message was read?".
17
+
Spørgsmålet nu er: hvilken datastruktur vil du foreslå til at gemme informationen: "hvornår blev beskeden læst?".
18
18
19
-
In the previous task we only needed to store the "yes/no" fact. Now we need to store the date, and it should only remain in memory until the message is garbage collected.
19
+
I den forrige opgave skulle vi kun gemme "ja/nej"-faktumet. Nu skal vi gemme datoen, og den skal kun forblive i hukommelsen, indtil beskeden bliver garbage collected.
20
20
21
-
P.S. Dates can be stored as objects of built-in`Date` class, that we'll cover later.
21
+
P.S. Datoer kan gemmes som objekter af den indbyggede`Date`-klasse, som vi dækker senere.
0 commit comments