-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
201 lines (147 loc) · 5.04 KB
/
index.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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
//ARRAYS
//Los Arrays SI son iterables por naturaleza.
//Los Objetos NO son iterables por naturaleza.
// let array = [1,2,3,4,5];
//Con los bucles WHILE, DO WHILE, FOR, FOR OF, FOR IN Y FOR EACH
//ADEMÁS DE MAP, puedo recorrer los array
//Los Objectos sólo puedo recorrerlos con FOR IN
//o transformando el Objecto a Array con Object.entries()
// for(let indice in array){
// console.log(indice)
// }
// for(let x of array){
// console.log(x)
// }
//FOR OF EQUIVALE EXACTAMENTE A UN FOR NORMAL O A UN FOR EACH Y A UN MAPEO
// for(let i = 0; i < array.length; i++){
// console.log(array[i])
// }
//ESTE FOR DE ARRIBA ES EXACTAMENTE IGUAL QUE EL FOR OF QUE HAY MÁS ARRIBA.
// let producto = ["cámara", "tablet", "teléfono"]
// let productos = producto.map(
// x => x + 's'
// )
// console.log(producto)
// console.log(productos)
// productos.forEach(
// y => console.log(y + "os")
// )
// console.log(productos)
//LA DIFERENCIA ENTRE FOR EACH Y MAP ES QUE FOR EACH NO SE PUEDE INTERRUMPIR
//Y ADEMÁS FOR EACH NO GENERA UN NUEVO ARRAY NI MODIFICA EL ORIGINAL.
////////////////////////////////////////////////////////////
//LOS OBJETOS NO SE PUEDEN RECORRER A NO SER QUE SE USE FOR IN O OBJECT.ENTRIES
////////////////////////////////////////////////////////////
// let alumnos = {
// alumno1 : "Guillermo",
// alumno2 : "Esperanza",
// alumno3 : "Angie",
// alumno4 : "Abraham"
// }
// for(let indice in alumnos){
// console.log(indice, alumnos[indice])
// //Esto mostraría...
// // alumno1 Guillermo
// // alumno2 Esperanza
// // alumno3 Angie
// // alumno4 Abraham
// }
//Esto transforma alumnos en un array...
// Object.entries(alumnos)
// let alumnos = {
// alumno1 : "Guillermo",
// alumno2 : "Esperanza",
// alumno3 : "Angie",
// alumno4 : "Abraham"
// }
//Object entries, por cada entrada del objeto de tipo alumno1: "Guillermo", hace..
// ["alumno1", "Guillermo"]
// Object.entries(alumnos).map(
// ([key, value],index) => {
// console.log(key, value, index)
// }
// )
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////
//Arrays y métodos...
// let comida = ["flan queso", "fruta", "pizza", "red bull", "verdura", "mountain dew"];
// comida.pop() //elimina un elemento al final
// comida.shift() //elimina un elemento al principio
// comida.unshift("petit suise") //añade un elemento al principio
// comida.push("pescado") //añade un elemento al final
// console.log(comida)
// comida.reverse().slice(0,3).map(
// alimento => console.log(alimento)
// )
// /////////////////////////////////////////////////////////
// //LA TERNARIA ES UNA ALTERNATIVA AL IF ELSE
// let nombre = "David"
// let edad = 38
// //IF ELSE
// if(nombre === "David"){
// console.log("Hola David")
// }else{
// console.log("Adios")
// }
// //TERNARIA
// nombre === "David"
// ? console.log("Hola David")
// : console.log("Adios")
// let vacaciones = undefined;
// vacaciones
// ? console.log("Sofia")
// : console.log("Slack")
//////////////////////////////////////////////////
//////////////////////////////////////////////////
//////////////////////////////////////////////////
///SPREAD Y REST...
//1- Se escriben igual, ... antes del elemento al que queremos aplicarlo.
//El REST se ejecuta en la declaración, no en la ejecución.
// const funcionQueHaceRest = (...musica) => {
// for (let elemento of musica) {
// console.log(elemento);
// }
// };
// //Esto es la ejecución
// funcionQueHaceRest("rock", "pop", "indie", "heavy", "regueton");
// funcionQueHaceRest("wow", "bioshock", "god of war", "forza");
// funcionQueHaceRest("la momia", "matrix", "la momia 2");
// //REST CON OBJETOS......
// let portatil = {
// sistema: "Windows",
// cpu: "rayzen7",
// marca: "hp",
// color: "aluminio",
// }[
// (["sistema", "windows"],
// ["cpu", "rayzen7"],
// ["marca", "hp"],
// ["color", "aluminio"])
// ];
// const inputHandler = (marca, valor) => {
// setPortatil((prevState) => ({
// ...prevState,
// [marca]: valor,
// }));
// };
//El uso de SPREAD REST nos facilitará mutar objetos
// 4. Dada una string, crea una función que cambie todas sus mayúsculas a minúsculas y
// todas sus minúsculas a mayúsculas y devuelva una nueva string.(“Hola” devolvería
// “hOLA”)
//Alternativas sencillas...
// .toLowerCase() ---- nos transforma todo a minúsculas
// .toUpperCase() ---- nos transforma todo a mayúsculas
const transform = (string) => {
//1er paso, separarmos el string a algo iterable (array) con distintas posiciones.
let troceado = Array.from(string)
//2do paso, recorremos el array y comprobamos si se trata de mayúsculas o minúsculas.
let transformado = troceado.map(
letra => letra.charCodeAt() < 97
? letra.toLowerCase()
: letra.toUpperCase()
)
console.log(string)
console.log(transformado.join(""))
}
transform("quE PasA koLEGa")