Skip to content

Commit 73a0265

Browse files
committed
070424
1 parent c456912 commit 73a0265

File tree

4 files changed

+1551
-12
lines changed

4 files changed

+1551
-12
lines changed

06_Day_Loops/06_day_starter/scripts/main.js

Lines changed: 194 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ console.log(numerosAle)
237237
// 5j2khz
238238
// ```
239239

240-
const alfabeto = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
240+
let alfabeto = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
241241
let key = "";
242242

243243
for(let i = 0; i < 6; i++){
@@ -261,7 +261,7 @@ console.log(key)
261261
// xkqci4utda1lmbelpkm03rba
262262
// ```
263263

264-
longitudRam = Math.floor(Math.random() * (6)) + 1;
264+
longitudRam = Math.floor(Math.random() * (20 - 5 + 1)) + 20;
265265
console.log(longitudRam)
266266
//alfabeto = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
267267
key = "";
@@ -282,10 +282,10 @@ console.log(key)
282282
// '#ee33df'
283283
// ```
284284

285-
longitudRam = Math.floor(Math.random() * (20 - 5 + 1)) + 20;
285+
longitudRam = 6;
286286
console.log(longitudRam)
287-
//alfabeto = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
288-
key = "";
287+
alfabeto = "0123456789ABCDEF"
288+
key = ""
289289

290290

291291
for(let i = 0; i < longitudRam; i++){
@@ -295,7 +295,7 @@ for(let i = 0; i < longitudRam; i++){
295295
key += char
296296
}
297297

298-
console.log(key)
298+
console.log("#" + key)
299299

300300

301301
// 1. Escribe un script que genere un número de color rgb aleatorio.
@@ -304,18 +304,56 @@ console.log(key)
304304
// rgb(240,180,80)
305305
// ```
306306

307+
let rgb = [null,null,null];
308+
309+
i=0
310+
while(i < rgb.length){
311+
rgb[i] = Math.floor(Math.random() * (256) )
312+
i++
313+
}
314+
315+
console.log("rgb("+ rgb.toString()+")")
316+
317+
307318
// 1. Usando el array countries anterior, crea un array como el siguiente.
308319

309320
// ```sh
310321
// ["ALBANIA", "BOLIVIA", "CANADA", "DENMARK", "ETHIOPIA", "FINLAND", "GERMANY", "HUNGARY", "IRELAND", "JAPAN", "KENYA"]
311322
// ```
312323

324+
let abcPaises = []
325+
326+
for(let i = 0; i < countries.length; i++){
327+
//si la primera letra del ultimo registro es igual a la primera letra del siguiente registro
328+
let siguienteLetra = countries[i].charAt(0)
329+
330+
if(abcPaises.length > 0 ){
331+
let ultimaLetra = abcPaises[abcPaises.length-1].charAt(0)
332+
if(siguienteLetra !== ultimaLetra){
333+
abcPaises.push(countries[i].toLocaleUpperCase())
334+
}
335+
}else{
336+
//Establecer primer elemento del array abcpaises
337+
abcPaises.push(countries[i].toLocaleUpperCase())
338+
}
339+
}
340+
341+
console.log(abcPaises.toString())
342+
313343
// 1. Usando el array countries anterior, crea un array para saber la longitud de cada país.
314344

315345
// ```sh
316346
// [7, 7, 6, 7, 8, 7, 7, 7, 7, 5, 5]
317347
// ```
318348

349+
lengthPaises = [];
350+
351+
for(let i = 0; i < abcPaises.length; i++){
352+
lengthPaises.push(abcPaises[i].length)
353+
}
354+
355+
console.log(lengthPaises.toString())
356+
319357
// 1. Utiliza el array countries para crear la siguiente array de arrays
320358

321359
// ```sh
@@ -335,31 +373,115 @@ console.log(key)
335373
// ]
336374
// ```
337375

376+
arrPaises = [];
377+
378+
for(let i = 0; i < abcPaises.length; i++){
379+
arrPaises.push([abcPaises[i], abcPaises[i].slice(0,3).toUpperCase(),abcPaises[i].length]);
380+
}
381+
382+
let json = JSON.stringify(arrPaises)
383+
384+
console.log(json)
385+
338386
// 1. En el array countries anterior, verifica si hay un país que contenga la palabra 'land'. Si hay países que contienen 'land', imprimelo cono array. Si no hay ningún país que contenga la palabra'land', imprima 'Todos estos países no tienen la palabra land'.
339387

340388
// ```sh
341389
// ['Finland','Ireland', 'Iceland']
342390
// ```
343391

344-
// 1. En el array countries anterior, verifica si hay un país que termina con una subcadena (substring) 'ia'. Si hay países que terminan con 'ia', imprimelo como un array. Si no hay ningún país que contenga la palabra 'ia', imprime 'Estos países no terminan con ia'.
392+
//variable cadena buscar
393+
let buscar = "land";
394+
395+
//array match
396+
arrPaisesMatch = [];
397+
398+
//array nomatch
399+
arrPaisesNoMatch = [];
400+
401+
//recorrer array countries
402+
for(let i = 0; i < countries.length; i++){
403+
if(countries[i].indexOf(buscar) !== -1){
404+
arrPaisesMatch.push(countries[i])
405+
}else{
406+
arrPaisesNoMatch.push(countries[i])
407+
}
408+
}
409+
console.log("Match:"+ arrPaisesMatch.toString(),"\n","No match:"+arrPaisesNoMatch.toString())
410+
411+
// 1. En el array countries anterior, verifica si hay un país que termina con una subcadena (substring) 'ia'.
412+
//Si hay países que terminan con 'ia', imprimelo como un array. Si no hay ningún país que contenga la palabra 'ia',
413+
//imprime 'Estos países no terminan con ia'.
345414

346415
// ```sh
347416
// ['Albania', 'Bolivia','Ethiopia']
348417
// ```
349418

419+
//variable cadena buscar
420+
buscar = "ia";
421+
422+
//array match
423+
arrPaisesMatch = [];
424+
425+
//array nomatch
426+
arrPaisesNoMatch = [];
427+
428+
//recorrer array countries
429+
for(let i = 0; i < countries.length; i++){
430+
if(countries[i].indexOf(buscar) !== -1){
431+
arrPaisesMatch.push(countries[i])
432+
}else{
433+
arrPaisesNoMatch.push(countries[i])
434+
}
435+
}
436+
console.log("Match:"+ arrPaisesMatch.toString(),"\n","No match:"+arrPaisesNoMatch.toString())
437+
350438
// 1. Usando el array countries anterior, encuentre el país que contiene la mayor cantidad de caracteres.
351439

352440
// ```sh
353441
// Ethiopia
354442
// ```
355443

444+
let paisMinLength = Infinity;
445+
let paisMaxLength = 0
446+
let indicePaisMinLength = 0;
447+
let IndicePaisMaxLength = 0
448+
449+
for(let i = 0; i < countries.length; i++){
450+
451+
if(countries[i].length > paisMaxLength ){
452+
IndicePaisMaxLength = i
453+
paisMaxLength = countries[i].length
454+
}else if(countries[i].length < paisMinLength){
455+
indicePaisMinLength = i
456+
paisMinLength = countries[i].length
457+
}
458+
}
459+
460+
console.log(`
461+
- Mas corto: "${countries[indicePaisMinLength]}" con ${paisMinLength} caracteres.
462+
- Mas largo: "${countries[IndicePaisMaxLength]}" con ${paisMaxLength} caracteres.
463+
`)
464+
356465
// 1. Usando el array countries anterior, encuentre el país que contiene sólo 5 caracteres.
357466

358467
// ```sh
359468
// ['Japan', 'Kenya']
360469
// ```
361470

471+
const nCaracteres = 5
472+
let arrCaracteres = []
473+
474+
for(let i = 0; i < countries.length; i++){
475+
if(countries[i].length === 5){
476+
arrCaracteres.push(countries[i])
477+
}
478+
}
479+
480+
console.log(arrCaracteres.toString());
481+
482+
362483
// 1. Encuentra la palabra más larga en el array webTechs
484+
363485
// 1. Utiliza el array de webTechs para crear la el siguiente array de arrays:
364486

365487
// ```sh
@@ -391,15 +513,79 @@ console.log(key)
391513
// ### Ejercicios: Nivel 3
392514

393515
// 1. Copia el array countries (Evita mutaciones)
394-
// 1. Los arrays son mutables. Crea una copia del array que no modifique el original. Ordena la copia del array y guárdala en una variable sortedCountries
516+
517+
let arrNuevoCountries = Array.from(countries)
518+
519+
// 1. Los arrays son mutables. Crea una copia del array que no modifique el original.
520+
//Ordena la copia del array y guárdala en una variable sortedCountries
521+
522+
const sortedCountries = Array.from(countries.sort())
523+
524+
console.log(sortedCountries.toString())
525+
395526
// 1. Ordena el array webTechs y el array mernStack
396527
// 1. Extrae todos los países que contengan la palabra 'land' del [array countries](https://github.com/Asabeneh/30DaysOfJavaScript/tree/master/data/countries.js) e imprimela como un array
528+
529+
530+
//variable cadena buscar
531+
buscar = "land";
532+
533+
arrPaisesPos = [];
534+
535+
arrPaisesLand = [];
536+
537+
//recorrer array countries
538+
for(let i = 0; i < arrNuevoCountries.length; i++){
539+
if(arrNuevoCountries[i].indexOf(buscar) !== -1){
540+
//codigo para extraer el elemento de countries e insertarlo en arrPaisesLand
541+
let elementoExtraido = arrNuevoCountries.splice(i,1)[0]
542+
arrPaisesLand.unshift(elementoExtraido)
543+
}
544+
}
545+
console.log("Array Land:"+ arrPaisesLand.toString(),"\n","Array original:"+arrNuevoCountries.toString())
546+
547+
397548
// 1. Encuentra el país que contiene la mayor cantidad de caracteres en el [array countries](https://github.com/Asabeneh/30DaysOfJavaScript/tree/master/data/countries.js)
398549
// 1. Extrae todos los países que contienen la palabra 'land' del [array countries](https://github.com/Asabeneh/30DaysOfJavaScript/tree/master/data/countries.js) e imprimela como un array
399550
// 1. Extrae todos los países que contengan solo cuatro caracters del [array countries](https://github.com/Asabeneh/30DaysOfJavaScript/tree/master/data/countries.js) e impremela como un array
551+
552+
let arr4char = []
553+
for(let i = 0; i < arrNuevoCountries.length; i++){
554+
555+
//si arrNuevoCountries tiene 4 caracteres
556+
if(arrNuevoCountries[i].length === 4){
557+
//splice del elemento
558+
let elemento = arrNuevoCountries.splice(i,1)[0]
559+
//pop al nuevo arr4char
560+
arr4char.push(elemento)
561+
}
562+
}
563+
564+
console.log(arr4char.toString())
565+
566+
400567
// 1. Extrae todos los paíse que contengan dos o más palabras del [array countries](https://github.com/Asabeneh/30DaysOfJavaScript/tree/master/data/countries.js) e imprimela como un array
568+
569+
570+
arr4char = []
571+
for(let i = 0; i < arrNuevoCountries.length; i++){
572+
573+
//si arrNuevoCountries tiene 4 caracteres
574+
if(arrNuevoCountries[i].length > 1){
575+
//splice del elemento
576+
let elemento = arrNuevoCountries.splice(i,1)[0]
577+
//pop al nuevo arr4char
578+
arr4char.push(elemento)
579+
}
580+
}
581+
582+
console.log(arr4char.toString())
583+
401584
// 1. Invertir el [array countries](https://github.com/Asabeneh/30DaysOfJavaScript/tree/master/data/countries.js) y poner en mayúscula cada país y almacenalo en un array
402585

586+
let arrInvertido = [...abcPaises].reverse()
587+
console.log(arrInvertido.toString())
588+
403589
// 🎉 ¡FELICITACIONES! 🎉
404590

405591
// [<< Día 5](../dia_05_Arreglos/dia_05_arreglos.md) | [Día 7 >>](../dia_07_Funciones/dia_07_funciones.md)

0 commit comments

Comments
 (0)