¡Te damos la bienvenida a este reto!

1

¡Bienvenido al mundo de JavaScript!

Día 1

2

Variables, funciones y sintaxis básica

3

Tipos de datos

4

Playground - Retorna el tipo

5

Tipos de datos - pt 2

Día 2

6

Operadores

7

Hoisting y coerción

8

Playground - Calcula la propina

9

Alcance de las variables

Día 3

10

Condicionales

11

Playground - Calcula años bisiestos

12

Switch

13

Playground - Obten información de mascotas según su tipo

14

Ciclos

15

Playground - Dibuja un triangulo

Día 4

16

Arrays

17

Playground - Encuentra al michi mas famoso

18

Objetos

19

Playground - Obten el promedio de los estudiantes

Día 5 - Checkpoint

20

Playground - encuentra el palindromo más grande

Día 6

21

Reasignación y redeclaración

22

Modo estricto

Día 7

23

Debugging y manejo de errores

24

Programación funcional

Quiz: Día 7

Día 8

25

Closures

26

Playground - Crea una calculadora con closures

27

Higher order functions

28

Playground - Crea tu propio método map

Día 9

29

ECMAScript

30

TC39

Quiz: Día 9

Día 10 - Checkpoint

31

ES6

32

ES7

33

Playground - Task planner

Día 11

34

Asincronismo

35

Playground - Promesas

36

Manejando el asincronismo

37

Playground - Resuelve el callback hell usando promesas

38

Playground - Resuelve el callback hell usando async/await

Día 12

39

Arrays a profundidad

40

Métodos de arrays: Every, Find y findIndex

41

Playground - Válida el formulario

Día 13

42

Métodos de arrays: Includes, Join y concat

43

Playground - agrupa los productos

44

Métodos de arrays: Flat y FlatMap

45

Playground - Encuentra la ubicación del valor buscado

Día 14

46

Mutable functions

47

Playground - Modifica una lista de compras

48

Métodos de arrays: sort

49

Playground - Ordena los productos

Día 15 - Checkpoint

50

Playground - Sistema de reservaciones de un hotel

Día 16

51

Programación orientada a objetos en JavaScript

52

Objetos literales

53

Playground - Congela el objeto recursivamente

Día 17

54

Prototipos en JavaScript

55

Playground - Modifica el prototype de los arrays

56

Playground - Crea un auto usando clases

Día 18

57

Abstracción en JavaScript

58

Playground - Sistema de carrito de compras

59

Encapsulamiento en JavaScript

60

Playground - Encapsula datos de los usuarios

Día 19

61

Herencia en JavaScript

62

Playground - Jerarquía de animales

63

Polimorfismo en JavaScript

64

Playground - Sistema de pagos

Día 20 - Checkpoint

65

Playground - Agenda de vuelos

Día 21

66

Patrones de diseño

67

Sinlgeton y Factory pattern en JavaScript

68

Playground - Implementa singleton en un chat

Día 22

69

Adapter y Decorator pattern en JavaScript

70

Playground - Mejora el código usando builder pattern

71

Builder y Protype pattern en JavaScript

72

Playground - Personaliza productos de una tienda

Día 23

73

Facade y proxy pattern en JavaScript

74

Playground - Proxy en servicio de mensajería

75

Chain of responsability y Observer pattern en JavaScript

76

Playground - Implementación de Observador en Newsletter

Día 24

Live Class

77

30 días de JS con Juan DC

78

30 días de JS con Nicobytes

79

30 días de JS con GNDX

80

30 días de JS con LeoCode

Métodos de arrays: Flat y FlatMap

44/80

Lectura

Array.prototype.flat()

El método Array.prototype.flat() permite combinar varios arreglos en un solo arreglo plano (sin niveles adicionales de anidamiento). Este método es útil cuando se trabaja con arreglos multidimensionales y se desea obtener una sola secuencia de elementos en un solo arreglo.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 4

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Solo una aclaración: el argumento opcional por defecto del método flat() para indicar el nivel de profundidad es 1. Si se quiere aplanar un arreglo anidado hasta el nivel más profundo, hay que pasar el valor Infinity:

const multiDimensionalArray = [[1, 2, 3], [4, [5, 6]], [7, [8, [9]]]];
const flatArray = multiDimensionalArray.flat(Infinity);
console.log(flatArray); // [1, 2, 3, 4, 5, 6, 7, 8, 9]

Flat y FlatMap:


.
El método flat() devuelve una nueva matriz con todos los elementos de una matriz anidada concatenados de manera recursiva hasta la profundidad especificada. Es decir, si tienes un array anidado y quieres “aplanarlo” para obtener un array simple, puedes usar flat() para hacerlo.

const nestedArray = [[1, 2], [3, 4], [5, 6]];
const flatArray = nestedArray.flat();

console.log(flatArray); // [1, 2, 3, 4, 5, 6]

El método flatMap() es similar a map(), pero primero “aplanar” la matriz usando flat(). Luego, llama a una función de devolución de llamada para cada elemento del array aplanado y devuelve una nueva matriz con los resultados.

const numbers = [1, 2, 3];
const doubledAndSimplified = numbers.flatMap(x => [x * 2]);

console.log(doubledAndSimplified); // [2, 4, 6]

Intente hacer este ejemplo, pero no logro ver que se eliminen los elementos null or undefined. Alguno filtro adicional?

const values = [1, 2, 3, null, 4, undefined, 5];

const result = values.flatMap(x => x);

console.log(result);
// Output: [1, 2, 3, 4, 5]

El método flatmap() sólo tiene 1 nivel de profundidad, así como lo tiene flat() por defecto… 😃