Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Map and Set#263

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
vplentinax merged 24 commits intojavascript-tutorial:masterfromvplentinax:mset
Jul 5, 2020
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
Show all changes
24 commits
Select commitHold shift + click to select a range
cd5ac90
mapset
vplentinaxJun 18, 2020
981da7f
update solution
EzequielCasteJul 4, 2020
e4ceae7
update task
EzequielCasteJul 4, 2020
78e1bfa
update solution
EzequielCasteJul 4, 2020
e61c2a6
corrección de líneas
EzequielCasteJul 4, 2020
1c79cbe
corrección número líneas
EzequielCasteJul 4, 2020
883cd95
fixed line numbers
EzequielCasteJul 4, 2020
e6f57ea
Update 1-js/05-data-types/07-map-set/01-array-unique-map/task.md
vplentinaxJul 4, 2020
af49a81
Update 1-js/05-data-types/07-map-set/01-array-unique-map/task.md
vplentinaxJul 4, 2020
459c874
Update 1-js/05-data-types/07-map-set/01-array-unique-map/task.md
vplentinaxJul 4, 2020
f6f6016
Update 1-js/05-data-types/07-map-set/01-array-unique-map/task.md
vplentinaxJul 4, 2020
438b4d7
Update 1-js/05-data-types/07-map-set/01-array-unique-map/task.md
vplentinaxJul 4, 2020
e101acc
Update 1-js/05-data-types/07-map-set/01-array-unique-map/task.md
vplentinaxJul 4, 2020
f754d71
Update 1-js/05-data-types/07-map-set/01-array-unique-map/task.md
vplentinaxJul 4, 2020
740687f
Update 1-js/05-data-types/07-map-set/03-iterable-keys/task.md
vplentinaxJul 4, 2020
444e0a5
Update 1-js/05-data-types/07-map-set/article.md
vplentinaxJul 4, 2020
669b0ff
Update 1-js/05-data-types/07-map-set/article.md
vplentinaxJul 4, 2020
c3f6fc4
Update 1-js/05-data-types/07-map-set/article.md
vplentinaxJul 4, 2020
b2df4f7
Update 1-js/05-data-types/07-map-set/article.md
vplentinaxJul 4, 2020
2c56508
Update 1-js/05-data-types/07-map-set/article.md
vplentinaxJul 4, 2020
74fee8b
Update 1-js/05-data-types/07-map-set/article.md
vplentinaxJul 4, 2020
3178435
Update 1-js/05-data-types/07-map-set/article.md
vplentinaxJul 4, 2020
3b5c116
Update 1-js/05-data-types/07-map-set/article.md
vplentinaxJul 4, 2020
7dcaca0
Update task.md
vplentinaxJul 4, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions1-js/05-data-types/07-map-set/01-array-unique-map/task.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,9 +19,11 @@ let values = ["Hare", "Krishna", "Hare", "Krishna",
"Krishna", "Krishna", "Hare", "Hare", ":-O"
];

alert( unique(values) ); // Hare, Krishna, :-O
alert( unique(values) ); // Hare, Krishna, :-O
```

P.D. Aquí se usan strings, pero pueden ser valores de cualquier tipo.

P.D.S. Use `Set` para almacenar valores únicos.


P.D.S. Use `Set` para almacenar valores únicos.
14 changes: 7 additions & 7 deletions1-js/05-data-types/07-map-set/02-filter-anagrams/solution.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@

Para encontrar todos los anagramas, dividamos cada palabra en letras y las ordenamos. Cuando se clasifican las letras, todos los anagramas son iguales.

Por ejemplo:
Expand All@@ -10,7 +9,7 @@ cheaters, hectares, teachers -> aceehrst
...
```

Utilizaremos las variantes ordenadas por letras comopropiedades de Map para almacenar solo un valor por cadapropiedad:
Utilizaremos las variantes ordenadas por letras comoclaves de Map para almacenar solo un valor por cadaclave:

```js run
function aclean(arr) {
Expand All@@ -23,13 +22,15 @@ function aclean(arr) {
*/!*
map.set(sorted, word);
}

return Array.from(map.values());
}

let arr = ["nap", "teachers", "cheaters", "PAN", "ear", "era", "hectares"];

alert( aclean(arr) );
```

La clasificación de letras se realiza mediante la cadena de llamadas en la línea `(*)`.

Por conveniencia la dividimos en múltiples líneas:
Expand All@@ -41,24 +42,23 @@ let sorted = arr[i] // PAN
.sort() // ['a','n','p']
.join(''); // anp
```

Dos palabras diferentes`'PAN'` y `'nap'` reciben la misma forma ordenada por letras `'anp'`.

La siguiente línea pone la palabra en el Map:


```js
map.set(sorted, word);
```

Si alguna vez volvemos a encontrar una palabra con la misma forma ordenada por letras, sobrescribiría el valor anterior con la mismapropiedad en Map. Por lo tanto, siempre tendremos como máximo una palabra ordenada por letras.
Si alguna vez volvemos a encontrar una palabra con la misma forma ordenada por letras, sobrescribiría el valor anterior con la mismaclave en Map. Por lo tanto, siempre tendremos como máximo una palabra ordenada por letras.

Al final, `Array.from (map.values())` toma un valor iterativo sobre los valores de Map (no necesitamospropiedades en el resultado) y devuelve un array de ellos.
Al final, `Array.from (map.values())` toma un valor iterativo sobre los valores de Map (no necesitamosclaves en el resultado) y devuelve un array de ellos.

Aquí también podríamos usar un objeto plano en lugar del `Map`, porque laspropiedades son strings.
Aquí también podríamos usar un objeto plano en lugar del `Map`, porque lasclaves son strings.

Así es como puede verse la solución:


```js run demo
function aclean(arr) {
let obj = {};
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,11 +18,11 @@ Escriba una función `aclean(arr)` que devuelva un array limpio de anagramas.

Por ejemplo:


```js
let arr = ["nap", "teachers", "cheaters", "PAN", "ear", "era", "hectares"];

alert( aclean(arr) ); // "nap,teachers,ear" o "PAN,cheaters,era"
```

Es decir, de cada grupo de anagramas debe quedar solo una palabra, sin importar cual.

View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@ Eso es porque `map.keys()` devuelve un iterable, pero no un array.

Podemos convertirlo en un array usando `Array.from`:


```js run
let map = new Map();

Expand Down
5 changes: 2 additions & 3 deletions1-js/05-data-types/07-map-set/03-iterable-keys/task.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,9 +2,9 @@ importance: 5

---

#Propiedades iterables
#Claves iterables

Nos gustaría obtener un array de `map.keys()` en una variable y luego aplicarle métodos específicos de array, ej. .push.
Nos gustaría obtener un array de `map.keys()` en una variable y luego aplicarle métodos específicos de array, ej.`.push`.

Pero eso no funciona:

Expand All@@ -22,4 +22,3 @@ keys.push("more");
```

¿Por qué? ¿Cómo podemos arreglar el código para que funcione `keys.push`?

Loading

[8]ページ先頭

©2009-2025 Movatter.jp