-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path10-funciones.js
83 lines (69 loc) · 1.77 KB
/
10-funciones.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// Funciones en JS
function createMovie(title = 'Default', release = '2020', time = 0) {
// Crear un objeto JS. Inicializacion, notacion literal
return {
title: title,
release: release,
time: time
};
}
// Invocar la funcion
const movie = createMovie('Star Wars', '2019-12-25', 2);
console.log('movie', movie);
console.log(createMovie('Spiderman'));
// Arrow Functions / Notacion flecha ES6
const createActor = (id=0, name='Default', age=0) => {
return {
id,
name,
age
};
};
const actor = createActor(1, 'Robert Downey Jr.', 54);
console.log(actor);
const increment = value => value + 1; // return value + 1
let value = 10;
console.log('value', value, increment(value));
const movies = [
{
id: 1,
title: 'Joker',
runtime: 2.2,
releaseDate: '2019-10-04',
adult: false
},
{
id: 2,
title: 'Star Wars',
runtime: 2.5,
releaseDate: '2019-12-25',
adult: false
},
{
id: 3,
title: 'The Invisible Man',
runtime: 1.8,
releaseDate: '2020-02-26',
adult: false
}
];
console.log(movies);
// Ciclo via forEach
movies.forEach(movie => console.log(movie.title));
const titles = movies.map(movie => ({
...movie, // Spread Operator: Copiar todas las propiedades
title: movie.title.toUpperCase(),
date: new Date(movie.releaseDate)
}));
console.log('titles', titles);
// Filtrado de elementos: filter
const shortMovies = movies.filter(movie => movie.runtime < 2);
console.log(shortMovies);
const concatResult =
movies
.filter(movie => movie.runtime < 2)
.map(movie => ({
title: movie.title.toUpperCase(),
runtime: movie.runtime
}));
console.log(concatResult);