-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript3.js
More file actions
221 lines (177 loc) · 6.53 KB
/
script3.js
File metadata and controls
221 lines (177 loc) · 6.53 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
//ULTIMOS 10 EJERCICIOS
/*COSAS NUEVAS:
*/
// 21. Encontrar números pares en un arreglo
//Escribir una función llamada pares que reciba un arreglo de números y retorne un nuevo arreglo con los números pares únicamente.
// escribe tu función acá
function pares(vec){
let paridad = vec.filter(par => par%2 == 0);
return paridad;
}
// código de prueba
console.log(pares([1, 2, 3, 4, 5, 6])) // [2, 4, 6]
console.log(pares([])) // []
// 22. Encontrar posiciones de números pares
//Escribir una función llamada posiciones que reciba un arreglo de números y retorne un nuevo arreglo con las posiciones donde se encuentran números pares.
// escribe tu función acá
function posiciones(vec){
let paress = [];
for(let i = 0; i<vec.length;i++){
if(vec[i]%2==0)
paress.push(i);
}
return paress;
}
// código de prueba
console.log(posiciones([1, 2, 3, 4, 5, 6])) // [1, 3, 5]
console.log(posiciones([])) // []
// 23. Duplicar elementos de un arreglo
// Escribir una función llamada duplicar que reciba un arreglo de números y retorne un nuevo arreglo donde cada número esté multiplicado por dos (2).
// escribe tu función acá
function duplicar(vec){
let duplicado = vec.map(element => element*2);
return duplicado;
}
// código de prueba
console.log(duplicar([1, 2, 3])) // [2, 4, 6]
console.log(duplicar([])) // []
//24. Encontrar palabras que empiecen por "a"
// Escribir una función llamada empiezanConA que reciba un arreglo de strings y retorne un nuevo arreglo con todas las palabras que empiecen por "a" (mayúscula o minúscula).
// escribe tu función acá
function empiezanConA(vec){
let cumplen = vec.filter(element => element[0]=='a' || element[0]=='A');
return cumplen;
}
// código de prueba
console.log(empiezanConA(["beta", "alfa", "Arbol", "gama"])) // ["alfa", "Arbol"]
console.log(empiezanConA(["beta", "delta", "gama"])) // []
console.log(empiezanConA([])) // []
// 25. Encontrar palabras que terminan en "s"
//Escribir una función llamada terminanConS que reciba un arreglo de strings y retorne un nuevo arreglo con todas las palabras que terminan con "s" (mayúscula o minúscula).
// escribe tu función acá
function terminanConS(vec){
let cumplen = vec.filter(element => element[element.length-1]=='s' || element[element.length-1]=='S');
return cumplen;
}
// código de prueba
console.log(terminanConS(["pruebas", "arroz", "árbol", "tokens"])) // ["pruebas", "tokens"]
console.log(terminanConS(["beta", "delta", "gama"])) // []
console.log(terminanConS([])) // []
// 26. Imprimir una matriz
//Escribir una función llamada imprimirMatriz que reciba una matriz (un arreglo de arreglos) e imprima todos los elementos del arreglo.
// escribe tu función acá
function imprimirMatriz(vec){
for(let i=0; i<vec.length;i++){
for(let j=0; j<vec[i].length;j++){
console.log(vec[i][j]);
}
}
}
// código de prueba
imprimirMatriz([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]);
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 27. Traducir números a palabras
// Escribir una función llamada numerosAPalabras que reciba un arreglo de números
// (cada número en el rango de 0 a 9) y retorne un nuevo arreglo convirtiendo cada número a su versión en palabras.
// escribe tu función acá
function numerosAPalabras(vec){
let numeros = ['cero','uno','dos','tres','cuatro','cinco','seis','siete','ocho','nueve'];
return vec.map(element => numeros[element]);
}
// código de prueba
console.log(numerosAPalabras([0, 1, 2, 3, 4])) // ["cero", "uno", "dos", "tres", "cuatro"]
console.log(numerosAPalabras([5, 6, 7, 8, 9])) // ["cinco", "seis", "siete", "ocho", "nueve"]
// 28. Traducir palabras a números
//Escribir una función llamada palabrasANumeros que reciba un arreglo de strings y
//retorne un nuevo arreglo traduciendo cada palabra a su versión numérica (del 0 al 9). Si la palabra no es un número traducir a -1.
// escribe tu función acá
function palabrasANumeros(vec){
let numeros = ['cero','uno','dos','tres','cuatro','cinco','seis','siete','ocho','nueve'];
let num = vec.map(element => numeros.indexOf(element)); //-1 en what? ya que no existe
return num;
}
// código de prueba
console.log(palabrasANumeros(["cero", "uno", "dos", "tres", "what?", "cuatro"])) // [0, 1, 2, 3, -1, 4]
console.log(palabrasANumeros(["cinco", "seis", "siete", "ocho", "nueve"])) // [5, 6, 7, 8, 9]
// 29. Número de asteriscos en un arreglo
// Escribir una función llamada numAsteriscos que reciba un arreglo y retorne el número de asteriscos:
// escribe tu función acá
function numAsteriscos(vec){
let sum=0;
for(let i=0;i<vec.length;i++){
if (vec[i]=='*'){
sum+=1;
}
}
return sum;
}
// código de prueba
console.log(numAsteriscos(['', '*', '', '*'])) // 2
console.log(numAsteriscos(['*', '*', '*'])) // 3
console.log(numAsteriscos([])) // 0
// 30. Número de asteriscos en una matriz
// Escribir una función llamada numAsteriscosMat que reciba una matriz (un arreglo de arreglos) y retorne el número de asteriscos:
// escribe tu función acá
function numAsteriscosMat(mat){
let sum=0;
for(let i=0; i<mat.length;i++){
for(let j=0; j<mat[i].length;j++){
if(mat[i][j]=='*'){
sum+=1;
}
}
}
return sum;
}
// código de prueba
console.log(numAsteriscosMat([
['*', '', '*'],
['', '*', ''],
['*', '', '*']
]))
// 5
// 31. Distancia entre dos strings
// Escribir una función llamada distancia que reciba dos strings y retorne el número de caracteres diferentes (comparando posición por posición).
// Nota: Puedes asumir que los strings siempre tienen la misma longitud. Sin embargo, si quieres agregarle más dificultad puedes
// pensar cómo solucionarlo si un string es más largo que el otro (la diferencia entre las longitudes agregaría al resultado).
// escribe tu función acá
function distancia(cad1,cad2){
let dist=0;
const long1 = cad1.length;
const long2 = cad2.length;
let limit;
if(long1>long2){
dist = long1-long2;
limit = long1-dist;
}else{
if(long1<long2){
dist = long2-long1;
limit = long2-dist;
}else{
dist=0;
limit = cad1.length;
}
}
for(let i=0;i<limit;i++){
if(cad1[i]!=cad2[i]){
dist+=1;
}
}
return dist;
}
// código de prueba
console.log(distancia("hola", "hola")) // 0
console.log(distancia("sol", "tol")) // 1
console.log(distancia("carro", "correr")) // 3