forked from Giuxpro/HC3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
checkpoint.js
182 lines (140 loc) · 6.13 KB
/
checkpoint.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
// No cambies los nombres de las funciones.
function sumaTodosImpares(array) {
// La funcion llamada 'sumaTodosImpares' recibe como argumento un array de enteros.
// y debe devolver la suma total entre todos los numeros impares.
// ej:
// sumaTodosImpares([1, 5, 2, 9, 6, 4]) devuelve 1 + 5 + 9 = 15
// Tu código aca:
}
function stringMasLarga(str) {
// La función llamada 'stringMasLarga', recibe como argumento un frase (string) 'str'
// y debe devolver la palabra (string) más larga que haya en esa frase (Es decir el de mayor cantidad de caracteres)
// Ej:
// stringMasLarga('Ayer fui a pasear a una plaza') debe retornar 'pasear'
// stringMasLarga('Me gusta mucho javascript') debe retornar 'javascript'
// Tip: podes usar el metodo de String 'split'
// Tu código aca:
}
function estaOffline(usuarios, nombre) {
// La funcion llamada "estaOffline" recibe como argumento un array de objetos llamado 'usuarios' y un string llamada 'nombre'.
// cada objeto tiene una property 'nombre' que es un string y otra llamada 'online' que es un booleano.
// La función debe retornar true si el usuario se encuentra offline, de lo contrario false.
// ej:
// var usuarios = [
// {
// nombre: 'toni',
// online: true
// },
// {
// nombre: 'emi',
// online: true
// },
// {
// nombre: 'agus',
// online: false
// }
// ];
// estaOffline(usuarios, 'agus') retorna true
// estaOffline(usuarios, 'emi') retorna false
// Tu código aca:
}
function actividadesEnComun(persona1, persona2) {
// La funcion llamada 'actividadesEnComun' recibe como argumento dos arrays de actividades (strings) llamados 'persona1' y 'persona2'
// y debe devolver un array de strings con las actividades en comun ( aquellas que se repiten ) entre cada array.
// ej: persona1 = ['leer', 'comer', 'pasear', 'dormir', 'jugar']
// persona2 = ['comer', 'dormir', 'futbol']
// actividadesEnComun(persona1, persona2) => ['comer', 'dormir']
// Tip: podes usar ciclos for anidados.
// Tu código aca:
}
function buscaDestruye(arreglo, num) {
// La funcion 'buscaDestruye' recibe como argumento un array de enteros 'arreglo' y un entero 'num'.
// Esta funcion tiene que eliminar los numeros del array que coincidan el numero recibido como argumento.
// La función debe retornar el array sin los números sacados.
// Ej: buscaDestruye([1, 2, 3, 4], 2) devuelve => [1, 3, 4]
// Nota: Si el numero se repite mas de una vez, tambien hay que eliminarlo.
// Ej: buscaDestruye([1, 2, 3, 4, 1], 1) devuelve => [2, 3, 4]
//
// Tu código aca:
}
function sumarElTipo(arreglo) {
// La funcion llamada 'sumarElTipo' recibe un array de strings como argumento
// que contiene tipos de vehiculos y debe devolver un objeto con la cantidad
// de veces que se repita cada tipo.
// El objeto que devuelve tiene como propiedades el nombre de cada vehiculo y su valor es la cantidad de veces que se repite.
// Ej:
// sumarElTipo(['auto', 'moto', 'auto']); debe retornar {auto: 2, moto: 1}
// Tip: podes usar el ciclo for o el metodo de Array 'reduce'
// Tu código aca:
}
// =======================================================================
function crearClaseEmprendedor() {
class Emprendedor {
constructor(nombre, apellido, libros, mascotas) {
// El constructor de la clase Emprendedor recibe nombre (string), apellido (string), libros (array de objetos), mascotas (array de strings)
// Inicializar las propiedades del emprendedor con los valores recibidos como argumento
// Tu código aca:
}
addMascota(mascota) {
// este método debe agregar una mascota (mascota) al arreglo de mascotas del emprendedor.
// no debe retornar nada.
// Tu código aca:
}
getMascotas() {
// El método 'getMascotas' debe retornar la cantidad de mascotas que tiene el emprendedor.
// Ej:
// Suponiendo que el emprendedor tiene estas mascotas: ['perro', 'gato']
// emprendedor.getMascotas() debería devolver 2
// Tu código aca:
}
addBook(book, autor) {
// El método 'addBook' recibe un string 'book' y un string 'autor' y debe agregar un objeto:
// { nombre: book, autor: autor} al arreglo de libros del emprendedor.
// No debe retornar nada.
// Tu código aca:
}
getBooks() {
// El método 'getBooks' debe retornar un arreglo con sólo los nombres del arreglo de libros del emprendedor.
// Ej:
// Suponiendo que el emprendedor tiene estos libros: [{nombre: 'El señor de las moscas',autor: 'William Golding'}, {nombre: 'Fundacion', autor: 'Isaac Asimov'}]
// emprendedor.getBooks() debería devolver ['El señor de las moscas', 'Fundacion']
// Tu código aca:
}
getFullName() {
// El metodo getFullName debe retornar un string con el nombre y apellido del emprendedor.
// ej:
// Suponiendo que el emprendedor tiene: nombre: 'Elon' y apellido: 'Musk'
// emprendedor.getFullName() deberia devolver 'Elon Musk'
// Tu código aca:
}
}
return Emprendedor;
}
/* ====================== EXTRA CREDIT ===================== */
// Este ejercicio no cuenta en el puntaje del checkpoint
// pero si llegas hasta aca y lo haces quiere decir que venis super bien!
function mapear() {
// Escribi una funcion mapear en el prototipo del objeto global 'Array'
// que recibe una funcion callback , que se ejecuta por cada elemento del array
// mapear los elementos de ese array segun la funcion callback
// Esta funcion tiene que devolver un array nuevo con los elementos mapeados.
// NO USAR LA FUNCION MAP DE ARRAYS.
// ej:
// var numeros = [1, 2, 3, 4];
// numeros.mapear(function(numero) {
// return numero + 1;
// }) devuelve [2, 3, 4, 5]
// Tu código aca:
}
// No modificar nada debajo de esta línea
// --------------------------------
module.exports = {
sumaTodosImpares,
buscaDestruye,
actividadesEnComun,
estaOffline,
stringMasLarga,
sumarElTipo,
crearClaseEmprendedor,
mapear
};