-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript2.js
More file actions
233 lines (189 loc) · 6.65 KB
/
script2.js
File metadata and controls
233 lines (189 loc) · 6.65 KB
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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
//PROXIMOS 10 EJERCICIOS
/*COSAS NUEVAS:
- Split('') -> para convertir una cadena en un arreglo de caracteres
- Join('') -> para convertir un arreglo en cadena
*/
// 11. Sumar arreglo
// Escribir una función llamada sumarArreglo que reciba un arreglo de números y retorne la suma de todos los elementos.
// escribe tu respuesta acá
function sumarArreglo(vec){
let suma = 0;
for(let i=0;i<vec.length;i++){
suma = suma + vec[i];
}
return suma;
}
// código de prueba
console.log(sumarArreglo([3, 1, 2])) // 6
console.log(sumarArreglo([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])) // 55
console.log(sumarArreglo([])) // 0
// 12. Multiplicar arreglo
// Escribir una función llamada multiplicarArreglo que reciba un arreglo de números y retorne la multiplicación de todos los elementos.
// escribe tu respuesta acá
function multiplicarArreglo(vec){
if (vec.length === 0){
return 1;
}else{
let num = 1;
for(let i=0;i<vec.length;i++){
num = num*vec[i];
}
return num;
}
}
// código de prueba
console.log(multiplicarArreglo([4, 1, 2, 3])) // 24
console.log(multiplicarArreglo([1, 2, 3, 4, 5, 6, 7, 8])) // 40320
console.log(multiplicarArreglo([])) // 1
// 13. Remover ceros
// Escribir una función llamada removerCeros que reciba un arreglo de números y retorne un nuevo arreglo excluyendo los ceros (0).
// escribe tu respuesta acá
function removerCeros(vec){
let removidos = vec.filter(elem => elem!=0);
return removidos;
}
// código de prueba
console.log(removerCeros([0, 1, 0, 2, 0, 3])) // [1, 2, 3]
console.log(removerCeros([9, 3, 6, 4])) // [9, 3, 6, 4]
console.log(removerCeros([0, 0, 0])) // []
// 14. Sumar arreglo entre el rango
// Escribir una función llamada sumarArreglo que reciba tres argumentos: un arreglo de números, la posición inicial y
// la posición final. La función debe retornar la suma de todos los números dentro del rango (la posición inicial y la posición final, incluyéndolas).
// Nota: puedes asumir que la posición inicial va a ser menor o igual a la posición final, y que están dentro de los límites del arreglo.
// escribe tu respuesta acá
function sumarArreglo(vec,ini,fin){
let suma=0;
if(ini<fin){
for(let i=ini;i<=fin;i++){
suma=suma+vec[i];
}
}
return suma;
}
// código de prueba
console.log(sumarArreglo([1, 2, 3], 1, 2)) // 5
console.log(sumarArreglo([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3, 6)) // 22
console.log(sumarArreglo([7, 8, 9], 0, 0)) // 0
// 15. Transcribir ADN a ARN
// Escribir una función llamada transcribir que reciba un string (una cadena de ADN) y retorne otro string (su complemento ARN).
// Los complementos son los siguientes:
// G -> C
// C -> G
// T -> A
// A -> U
// escribe tu función acá
function transcribir(adn) {
// Separo el string en caracteres individuales con split y a la vez con map reemplazo
let arn = adn.split('').map(car => {
switch (car) {
case 'G': return 'C';
case 'C': return 'G';
case 'T': return 'A';
case 'A': return 'U';
default: throw new Error("Caracter inválido en la secuencia de ADN");
}
}).join('');
return arn;
}
// código de prueba
console.log(transcribir("ACGT")) // "UGCA"
console.log(transcribir("ACGTGGTCTTAA")) // "UGCACCAGAAUU"
// 16.Capitalizar palabra
// Escribir una función llamada capitalizar que reciba un string y capitalice la primera letra:
// escribe tu función acá
function capitalizar(cad){
if(cad!=''){
let capital = cad.split('');
capital[0] = capital[0].toUpperCase();
return(capital.join(''));
}
else{
return('');
}
}
// código de prueba
console.log(capitalizar("hola mundo")) // "Hola Mundo"
console.log(capitalizar("make it real")) // "Make It Real"
console.log(capitalizar("")) // ""
// 17. Capitalizar cada palabra
// Escribir una función llamada capitalizar2 que reciba un string y capitalice la primera letra de cada palabra:
// escribe tu función acá
function capitalizar2(cad){
if(cad!=''){
let capital = cad.split('');
for(let i=0;i<capital.length;i++){
if(i==0 || capital[i-1]==' '){
capital[i] = capital[i].toUpperCase();
}
}
return(capital.join(''));
}
else{
return('');
}
}
// código de prueba
console.log(capitalizar2("hola mundo")) // "Hola Mundo"
console.log(capitalizar2("make it real")) // "Make It Real"
console.log(capitalizar2("")) // ""
// 18. Encontrar el número máximo
// Escribir una función llamada max que reciba un arreglo de números y retorne el número máximo:
// Nota: Intentarlo hacer sin el método Math.max de JavaScript.
// escribe tu función acá
function max(vec){
let maxi=0;
for(let i=0;i<vec.length;i++){
if(vec[i]>maxi){
maxi=vec[i];
}
}
return(maxi);
}
// código de prueba
console.log(max([3, 9, 6])) // 9
console.log(max([67, 35, 54, 26])) // 67
console.log(max([5, 9, 2, 4, 5, 7])) // 9
// 19. Encontrar el número mínimo
// Escribir una función llamada min que reciba un arreglo de números y retorne el número mínimo:
// Nota: Intentarlo hacer sin el método Math.min de JavaScript.
// escribe tu función acá
function min(vec){
let mini=10000;
for(let i=0;i<vec.length;i++){
if(vec[i]<mini){
mini=vec[i];
}
}
return(mini);
}
// código de prueba
console.log(min([3, 9, 6])) // 3
console.log(min([67, 35, 54, 26])) // 26
console.log(min([5, 9, 2, 4, 5, 7])) // 2
// 20. Generar contraseña
// Escribir una función llamada password que reciba un string y retorne un nuevo string realizando los siguientes cambios:
// Las mayúsculas se reemplazan por minúsculas.
// Se eliminan los espacios en blanco.
// Reemplaza el caracter “a” por “4”.
// Reemplaza el caracter “e” por “3”.
// Reemplaza el caracter “i” por “1”.
// Reemplaza el carater “o” por “0”.
// escribe tu función acá
function password(cad){
cad.toLowerCase(); //Para hacer mas facil la primer condicion, ya paso todo a minuscula directamente y luego trabajo con los demas valores mas especificos
let vec = cad.split('').map(element => {
switch(element){
case ' ' : return('');
case 'a' : return('4');
case 'e' : return('3');
case 'i' : return('1');
case 'o' : return('0');
default : return(element);
}
}).join('');
return(vec)
}
// código de prueba
console.log(password("hola")) // "h0l4"
console.log(password("esta es una prueba")) // "3st43sun4pru3b4"
console.log(password("")) // ""