No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso Pr谩ctico de JavaScript

Curso Pr谩ctico de JavaScript

Juan David Castro Gallego

Juan David Castro Gallego

Arrays y objetos

7/26
Recursos

Aportes 81

Preguntas 3

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Yo logr茅 imprimir todos los arrays con Object.entries:
.entries -->

const object = {
    name: "goku",
    age: 110,
    poder: "Kamehame haaaaaaaaaa",
    debilidad: "Jeringas",
}

console.log(Object.entries(object));

////////////////////////////// resultado:

[
  [ 'name', 'goku' ],
  [ 'age', 110 ],
  [ 'poder', 'Kamehame haaaaaaaaaa' ],
  [ 'debilidad', 'Jeringas' ]
]




Hola profe, yo us茅 este metodo que lo vi en la clase de javascript basico con el profesor Diego de Granda, no se que opina creo que es bastante corto.
var pc = {
marca: 鈥榣enovo鈥,
modelo: 鈥榣aptop鈥,
a帽o: 2016,
};
function objeto(object) {
for (var item in object) {
console.log(object[item]);
}
}
objeto(pc);

Yo hice en el 煤ltimo ejercicio esto :3, sent铆 bonito que funcionara jaja

var amby = {
  nombre: "Achoque",
  localidad: "Michoac谩n",
  color: ["Verde Oscuro", "Caf茅", "Moteado"]
}

function imprimirAmbys(arr){
  const achoques = Object.values(amby);
  achoques.forEach(function(element){
    console.log(element);
  })
}

Para recordar como se escribe length
lenGTH => Gallina Tiene Huevos

Para ti JuanDC
Par茅ntesis ( )
Corchetes [ ]
Llaves { }
馃槑

Dime que tu profesor habla ingl茅s sin decirme que habla ingl茅s:
usa chistes anglosajones en espa帽ol; 鈥淒ijo nadie nunca/Said no one ever鈥 馃ぃ馃ぃ

Dejo mi aporte para la impresi贸n de las propiedades de un objeto haciendo uso de Object.keys

function printAllObject(object) {
    if (object) {
        let keys = Object.keys(object);
        for (let key of keys) {
            console.log(`${key}: ${object[key]}`);
        }
    }
}

Al usar la funcion

printAllObject({ name: 'Ernesto Perez', age: '2', nickName: 'frailejon'})

Retorna
name: Ernesto Perez
age: 2
nickName: frailejon

Para complementar encontr茅 esto en la pag de w3schools:

When to Use Arrays. When to use Objects:

  • JavaScript does not support associative arrays.

  • You should use objects when you want the element names to be strings (text).

  • You should use arrays when you want the element names to be numbers.

Hice mis soluciones procurando closures y arrow functions jeje

Listas Y Objetos

1锔.Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es un array?

  • Es una lista de elementos, PUEDEN SER DE CUALQUIER TIPO.

驴Qu茅 es un objeto?

  • Es una lista de elementos PERO cada elemento tiene un nombre clave.

驴Cu谩ndo es mejor usar objetos o arrays?

  • Arrays cuando lo que haremos en un elemento es lo mismo que en todos los dem谩s (la regla se puede incumplir). Mientras que un objeto cuando los nombres de cada elemento son importantes para nuestro algoritmo.

驴Puedo mezclar arrays con objetos o incluso objetos con arrays?

  • S铆. Los arrays pueden guardar objetos. Y los objetos pueden guardar arrays entre sus propiedades.

2锔.Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima su primer elemento.

function imprimirPrimerElementoArray(arr) {
    console.log(arr[1])
}

3锔.Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function imprimirElementoPorElemento(arr) {
    for (let i = 0; i < arr.length; i++) {
        console.log(arr[i])
    }
}

4锔.Crea una funci贸n que pueda recibir cualquier objeto como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function imprimirElementoPorElementoObjeto(obj) {
    const arr = Object.values(obj);
    for (let i = 0; i < arr.length; i++) {
        console.log(arr[i])
    }
}

Puedes utilizar el ciclo For鈥n para recorrer un objeto sin necesidad de convertirlo en array.


function imprimir(objeto) {

  let claves = Object.keys(objeto);

  for (let i = 0; i < claves.length; i++) {
    console.log(claves[i] + " " + objeto[claves[i]]);
  }
}
imprimir({a: 2, d:3, e:5});

Muchas gracias a esa pregunta trampa del objeto me hizo aprender muchisimo me gustan mucho esos tipos de retos

Dejo mi aporte:

var object={
    number: 1,
    model: "tesla",
    year: 2022,
    color: "red"
};
function exit(param){
    for(var params in param){
        console.log(`${params}: ${param[params]}\n`);
    }
};

exit(object);

Resultado:

number: 1
model: tesla
year: 2022
color: red

馃幆Solucion al ejercicio 3

  • Usando for 鈥 in documentacion
    La instrucci贸n for-in itera sobre todas las propiedades enumerables de un objeto.
const object = { nombre: "Juan",
  localidad: "Castro",
  color: ["Verde Oscuro", "Caf茅", "Moteado"]};

for (const property in object) {
  console.log(`${property}: ${object[property]}`);
}
// nombre: Juan
// localidad: Castro
// color: Verde Oscuro,Caf茅,Moteado

Lo encontre en Google 馃構

Yo lo hice de otra forma , con utilize for in

<let obj = {
    nombre:"Marcos",
    edad:"31",
    profesion:"Ing de sistemas"
}

function imprimeObjeto(obj){
   
    var elementos= Object.entries(obj);

    for(var i = 0; i < Object.keys(obj).length;i++){
        console.log(elementos[i]);
    }
    
}> 

Como dijo el profesor, no hab铆a manera de recorrer las propiedades de un objeto.
Lo primero que pens茅 fue pasar de manera convencional el objeto a un Array.
e.j.

miAuto = {
    marca: "Tesla",
    modelo: "Modelo S",
}
let arrayDeprueba = miAuto;

/* La Array obtiene el objeto completo y no sus propiedades como tal, por lo tanto no es posible recorrerlas "una por una" usando [0] */

Luego de buscar y sentir la emoci贸n equivalente a un jugador de DarkSouls.
Puedo encontrar la soluci贸n, o al menos funciona.

/* Si utilizamos el metodo: Object.keys(nombreDelObjeto), aqu铆 si devuelve las propiedades de un objeto como si fueran Arrays pudiendo recorrerlas con [0] */
let miAuto = {
    marca: "Tesla",
    modelo: "Model S",
    annio: 2012
}
let claves = Object.keys(miAuto);
for(let i = 0; i < claves.length; i++) {
    console.log(miAuto[claves[i]]);
}

La primera vez no sali贸 y tuve que abrir mis apuntes.

La primera vez: Horrible, sin embargo el concepto de los ciclos est谩 claro.
Empez贸 un bucle infinito y toc贸 reiniciar el Portatil.

function(arr) {
	for(let arr = 0; arr.length <= arr.length; arr.length++) {
	console.log("funcion que imprime Array uno por uno: " + arr[arr.length])
}
}
imprimirElementoPorElemento(["Daniel", "Maria", "Thais", "Marina"])

Despu茅s de ver los apuntes: Todo funciona a la perfecci贸n.

function imprimirElementoPorElemento(arr) {
    for(let i = 0; i < arr.length; i++ ) {
        console.log("Array que imprime sus elementos uno por uno: " + arr[i])
    }
}
imprimirElementoPorElemento(["Daniel", "Maria", "Thais", "Marina"])

Mi soluci贸n

let persona ={
    nombre: 'Obed',
    apellido: 'Tzay',
    edad: 23
}
const imprimirObjeto = person =>{
    for (const key in person) {
        console.log(`mi ${key} es: ${person[key]}`);
    }
}
imprimirObjeto(persona);

Oh que chevere como resolvio ese ultimo ejercicio, yo la verdad no pude hacerlo, pero que manera mas intuitiva y facil de resolverlo el profe. Like

Creo que usando el for in es mas sencillo imprimir los valores de un objeto. Y si es un array for of.

const obj = {
    nombre:"Fulanito",
    edad: 3,
    comidasFavoritas:["pollo frito","vegetales"],
};
const printObject = (obj)=>{

    for (element in obj){
       console.log(obj[element]);
    }
    
}

Aqu铆 mi aporte:

function imprimir_objeto(objeto){
    for (var propiedad in objeto){
      console.log(propiedad + ": " + objeto[propiedad]);
    } 
  }

function ImprinirTodoElObjecto(objeto) {
const llaves = Object.keys(objeto);

for (let i = 0; i < llaves.length; i++) {
	console.log(llaves[i] + " " + objeto[llaves[i]])
}

}

Extend铆 la funci贸n para que tambien imprima los elementos del array que se encontraba dentro de comidasFavoritas.

usuario =  {
	nombre: "Fulanito",
	edad: 3, 
	comidasFavoritas: ["Pollo", "Palta"]
}


function imprimirElementoPorElementoObjeto(obj){
	const arr = Object.values(obj);
	for(let i = 0; i < arr.length; i++){
        if (Array.isArray(arr[i])) {
            arr[i].forEach(element => {
                console.log(element);
            });
        } else {
            console.log(arr[i])
        }
	}
}

Utilize el m茅todo isArray() del objeto nativo que proporciona JavaScript Array. El cual, si el objeto es un Array, devuelve true; y false, en cualquier otro caso.
Dejo link a la documentaci贸n:
Array.isArray() docs

Lo realice con el for/in

var fruta = {	nombre: "Perra", 
				nombreCientifico: "Pyrus communis", 
				Reino: "Plantae",
				Subreino: "Tracheobionta",
				Divisi贸n: "Magnoliophyta",
				Clase: "Magnoliopsida",
				Subclase: "Rosidae",
				Orden: "Rosales",
				Familia: "Rosaceae",
				Subfamilia: "Amygdaloideae2鈥",
				Tribu: "Maleae",
				G茅nero: "Pyrus",
				Especie: "P. communis",
			};
			
			
function mostrarObjeto(obj) {
	for ( let valor in obj ) {
		console.log( valor + ": " + fruta[valor] );
	}
}

Resultado:
nombre: Perra
nombreCientifico: Pyrus communis
Reino: Plantae
Subreino: Tracheobionta
Divisi贸n: Magnoliophyta
Clase: Magnoliopsida
Subclase: Rosidae
Orden: Rosales
Familia: Rosaceae
Subfamilia: Amygdaloideae2鈥
Tribu: Maleae
G茅nero: Pyrus
Especie: P. communis

Gracias a los dioses de la programaci贸n, d铆 con la clase correcta, para resolver el 煤timo ejercicio

https://platzi.com/clases/1815-ecmascript-6/25944-que-se-implemento-en-es8/

en donde nos muestra que, de conformidad con el ECMAScript versi贸n es8, si tienes on objeto

const cdProjektRed = {
  game: 'Cyberpunk 2077',
  year: '2020',
  country: 'Poland'
}

puedes reconvertir el objeto a un array, utilizando el m茅todo de Object.values, para reconvertir este objeto a un array, y as铆 obtener los valores en forma de array

const entries = Object.values(cdProjektRed);

como ya tienes el objeto en forma de array, utilizas un ciclo para imporimir tales valores

for(let i=0;i<entries.length;i++){
  console.log(entries[i]);
}
Cyberpunk 2077
2020
Poland

Ojo con las may煤sculas y min煤sculas, muy importantes, aun no aprendo xd

en mi caso, el problema de crear una funcion que reciba cualquier objeto lo resolvi asi porque queria que imprima no solo el valor sino tambien el nombre del valor

let pokemondetails = {nombre: "Chikorita", numPokedex: 152, tipo: "Planta", generacion: "Segunda", habilidad: "Espesura"};

let improbj = function (anyobject) {

    for (let property in anyobject) {
        console.log (`${property}: ${anyobject[property]}`)
    }
}

Yo me confund铆 e hice un arreglo con objetos dentro, despu茅s imprim铆 objeto por objeto, pero bueno ya aprend铆 como imprimir los valores de un objeto con la soluci贸n del profe.

const cars = [
  {
    model: "Mini",
    Year: 2003,
    Color: "Grey",
  },
  {
    model: "Neon",
    Year: 2017,
    Color: "Blue",
  },
  {
    model: "Mazda 3",
    Year: 2021,
    Color: "Red",
  },
];

function stockCars(object) {
  cars.forEach(item => console.log(item));
//   for (let index = 0; index < object.length; index++) {
//     console.log(object[index]);
//   }
}

stockCars(cars);

Les dejo el ejemplo de como imprimir objeto por objeto que est谩n dentro de un array, con forEach y con un ciclo for, esto lo aprend铆 en el curso de manipulaci贸n de arrays con JavaScript.

con el for in lo resolv铆 sin problema

Yo utilic茅 arrows function y map.

const imprimeArray = arrays2 => arrays2.map(element=> console.log(element))
imprimeArray([1,3,7,86,5]);

驴Cu谩ndo es mejor usar objetos o arrays?

Un Array, para mi, es mejor cuando todos los datos que estan alli representan un mismo tipo鈥 valor鈥 mmm鈥 ejemplo:

nombres=[鈥楯uan鈥, 鈥楻uben鈥, 鈥楽ergio鈥橾
productos=[鈥榗amisa鈥, 鈥榩antalon鈥, 鈥榯enis鈥橾

y el objeto para una representaci贸n de datos especificos de un solo elemento o una abstracci贸n del mundo鈥 mmm鈥 ejemplo:
estudiante = {
nombre:" 鈥,
apellido:鈥 鈥,
edad:鈥 "
}

Y que tal si tenemos una lista de clientes:

clientes = [ 
	{
		nombre: "cliente1",
		identificaci贸n: 123456789
	},
	{
		nombre: "cliente2",
		identificaci贸n: 987654321
	}
]

Yo puse en practica los de llamar a una funci贸n dentro de otra funci贸n para hacer un poco m谩s legible mi c贸digo.

function lista(arr){
            for(i=0; i<=arr.length; i++){
                console.log(arr[i]);
            }
        }

function listaObjeto(obj){
            const objeto = Object.values(obj);
            lista(objeto);
        }

const obj = {
            nombre: "Carlos",
            apellido: "Villatoro",
            edad: 25,
        }

listaObjeto(obj);

Signos de agrupaci贸n

- ( ) 鈫 par茅ntesis o par茅ntesis ordinarios.
- [ ] 鈫 corchetes o par茅ntesis angulares o par茅ntesis rectangulares.
- { } 鈫 llaves.
- | | 鈫 v铆nculos o barras.

En el ejercicio # 2, utilice un m茅todo de 鈥渧aciar鈥 el array con .shift e ir mostrando los elemento que se van eliminando uno por uno.
As铆 se listan todos tambi茅n:

function lista (arr) {
    for (i=arr.lenght; i=arr.length; i--) {
        elementoArray = arr.shift();
        console.log (elementoArray);
    }
}

lista (["come", "duerme", "programa", "repite"]);


En el ejercicio # 2, utilice un m茅todo de 鈥渧aciar鈥 el array con .shift e ir mostrando los elemento que se van eliminando uno por uno.
As铆 se listan todos tambi茅n:

function lista (arr) {
    for (i=arr.lenght; i=arr.length; i--) {
        elementoArray = arr.shift();
        console.log (elementoArray);
    }
}

lista (["come", "duerme", "programa", "repite"]);

En el ejercicio # 2, utilice un m茅todo de 鈥渧aciar鈥 el array con .shift e ir mostrando los elemento que se van eliminando uno por uno. As铆 se listan todos tambi茅n:

function lista (arr) {
    for (i=arr.lenght; i=arr.length; i--) {
        elementoArray = arr.shift();
        console.log (elementoArray);
    }
}

lista (["come", "duerme", "programa", "repite"]);

馃槂 Arrays y objetos
1.- Responde las siguientes preguntas en la secci贸n de comentarios:
驴Qu茅 es un array?
Es una estructura de datos tipo objeto que almacena una lista ordenada de valores.
驴Qu茅 es un objeto?
Es una entidad independiente con propiedades y una propiedad es la asociaci贸n entre un nombre (o clave) y un valor.
驴Cu谩ndo es mejor usar objetos o arrays?
Es mejor usar los arrays cuando almacenamos m煤ltiples valores de una sola variable y los objetos cuando almacenamos m煤ltiples valores de m煤ltiples variables.
驴Puedo mezclar arrays con objetos o incluso objetos con arrays?
S铆.

2.- Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima su primer elemento.

function miFuncion(array){
    console.log(array[0]);
}
var input = prompt('Ingresar un array (separando los argumentos solo con una coma):');
var array = input.split(',');
miFuncion(array);

3.- Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function miFuncion(array){
    for(var i = 0;i<array.length;i++){
        console.log(array[i]);
    }
}
var input = prompt('Ingresar un array (separando los argumentos solo con una coma):');
var array = input.split(',');
miFuncion(array);

4.- Crea una funci贸n que pueda recibir cualquier objeto como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function miFuncion(object){
    array= Object.values(object);
    for(var i = 0;i<array.length;i++){
        console.log(array[i]);
    }
}
var miObjeto = {
  nombre: 'Luigi',
  primerApellido: 'del Carpio',
  segundoApellido: 'Mendiola'
};
miFuncion(miObjeto);

A mi me gusta mucho este m茅todo para obtener las propiedades del objeto:

<code> 

const objetoDePrueba = {
    nombre: 'Manolito',
    apellido: 'Gambito',
    aficiones: ['Piano', 'Reggae', 'Estudiar JS', 'F煤tbol', 'Leer'],
    verAficiones() {
        console.log(this.aficiones);
    },
    ciudad: 'Sevilla',
    trabajo: 'Codiguitos SL',
    parado: false,
    casado: false
}

function obtenerPropiedades(objetoComoParametro) {
    for (let valores in objetoComoParametro) {
        console.log(objetoComoParametro[valores]);
    }
}

obtenerPropiedadesObjeto(objetoDePrueba);

Para imprimir los valores de las propiedades de un objeto uno por uno sin necesidad de convertirlo a un arreglo podemos usar el ciclo for in:

En w3schools.com puedes encontrar la explicaci贸n del ciclo for in.

Con respecto a lo de la diferencia entre array y objeto creo que falto el punto clave del array, que al final es guardar una colecci贸n de elementos (por algo es un tipo de lista), yo lo cambiar铆a as铆:
Arrays para cuando se requiere guardar una colecci贸n de datos, del mismo tipo o no, incluso objetos y otros arrays. Objeto cuando ocupamos representar un objeto real en memoria por medio de atributos y sus valores (como dice Juan, el nombre del elemento importa).

Para a帽adir, en la universidad ten铆a un profesor que nos dec铆a que como buena pr谩ctica en programaci贸n (orientada a objetos), es que siempre y cuando podamos ejecutar un ciclo con un m茅todo propio del elemento opt谩ramos por est茅 en vez de un for o while que son correctos pero que 鈥渟on llamados por algo externo en vez del objeto鈥, esto tiene un nombre pero no me acuerdo cu谩l era. Por lo anterior opt茅 por el forEach visto en el curso b谩sico para mantener esta responsabilidad en el objeto mismo, aqu铆 mi soluci贸n:

let myArray = ["Element1","Element2","Element3"];

function myElements(userArray)
{
    userArray.forEach(element => {
        console.log(element);
    });   
}

myElements(myArray);

Los 煤ltimos dos los hice usando For/of y for/in

Array

let frutas = ["manzana", "platano", "Cereza", "Fresa"];

function readFrutas(array){
    for(let x of array){
        console.log(x); 
    }
}

Objeto

let frutas = {
    modelo: "grande",
    color: "rojo"
};

function readObject(objeto)
{
    for(let key in objeto){
        console.log(objeto[key]);

    }

Es interesante saber como en este caso el for/of queda perfecto para los arrays y el for/in para los objetos.

let obj = {
nombre: 鈥淕abriel鈥,
apellido: 鈥淧uig鈥,
edad: 47
}

function prtArr(valor) {
const array = Object.values(valor);
for(let i= 0; i < array.length; i++ ){
console.log(array[i])
}
}

prtArr(obj);

Como convertir Objetos en Arrays

para iterar cada elemento

let arr=['ana','claudia','maria'];
arr.map(element => {
    console.log(element);
});
for (const key of arr) {
    console.log(key);
}

Esta es mi soluci贸n al problema 4, solo lo convert铆 en una funci贸n e hice un ejemplo de su uso. Es una de las preguntas que no contest茅 porque simplemente no sab铆a que pod铆a hacerse algo as铆 y creo que por eso ni siquiera se me pas贸 por la cabeza preguntar, pero es algo en lo que estoy trabajando 馃槂

let obj = {
    nombre: "auvm",
    edad: 22,
    altura: 1.68
};
Object.values(obj)

function valoresDeObjeto(obj){
    let arr = Object.values(obj);
    for(let elemento of arr){
        console.log(elemento);
    }
}

valoresDeObjeto(obj);

Con este algoritmo busque recorrer el objeto que el profesor planteo, pero buscando adem谩s que tambi茅n pudiera recorrer el Array que hace parte de una de las propiedades del objeto, por lo cual esta ser铆a una posible soluci贸n.

let obj = {
 nombre: "Juan",
 edad: 26, 
["comida Favorita"]: ["arroz con pollo","arroz 
chino","pandeja paisa"],}; 

function recorrerObjeto(obj){
for(let e in obj){
聽聽聽 if(typeof obj[e] === Array){
聽聽聽聽聽聽聽聽 for(let i of obj[e]){
聽聽聽聽聽聽聽聽聽聽聽聽 console.log(`${e} es ${i} `);
聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽 }else{console.log(`${e} : ${obj[e]}`);}
}
} 

recorrerObjeto(obj);

/* Salida
nombre : Juan
edad : 26
comida Favorita : arroz con pollo,arroz chino,pandeja paisa
 */

Comparto mi soluci贸n del ultimo ejercicio.

let datos = {
nombre : 鈥済erry鈥,
edad : 鈥15鈥,
estadoMental : 鈥淐ansado鈥,
te_gusto_el_test : 鈥淓xcelente una de reafirmar el aprendizaje鈥
}

function imprimirObjeto(coss)
{
for(dato in coss)
{
console.log(${coss[dato]);
}
}
imprimirObjeto(datos);

!!Todos aprendeos algo nuevo cada d铆a!!

Muy interesantes las respuestas, algo gracioso que me pas贸 fue que a la hora de hacer el segundo ejercicio de programaci贸n me pas贸 el error de ciclo infinito, a pesar de que literalmente hab铆a contestado la pregunta del ciclo infinito apenas unos segundos atr谩s. Me di cuenta como un microsegundo despu茅s de darle run y me qued茅 馃槰 jajaja

Yo resolvio el ejercicio 4, de imprimir los elementos con un for in.

const obj = {
  name: 'Carlos',
  lastname: 'Usuga',
  age: 37,
}

function printPropsObj(obj) {
	for (const key in obj) {
		console.log(key);
		console.log(obj[key]);
	}
}

printElObj(obj)

Respuesta

name
Carlos
lastname
Usuga
age
37

Dejo mi aporte, quise hacer el mismo ejercicio con el ciclo for of

Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function allElements (array) {
    for (let elements of array) {
        console.log(elements);
    }
}

Crea una funci贸n que pueda recibir cualquier objeto como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function printElementByElement(obj) {
    const arr = Object.values(obj);
    for (let elements of arr) {
        console.log(elements);
    }
}
function searchArray(){
  let stock = ['Mouse', 'Keyboard', 'Computer', 'Laptop', 'Monitor', 'Camara'];
  
  for(let i = 0; i < stock.length; i++){
    console.log(stock[i]);
  }
}

searchArray();
function array (){
  let compras = ['Leche', 'Cereal', 'Pan', 'Galletas', 'Jugos'];
  
  console.log(compras[0]);
}
array();
const persona = {
  nombre: 'Miles',
  apellido:'Morales',
  nickname: 'MilesMM',
  telefono: 7772277736,
  escuela: 'escuela primaria',
  email: '[email protected]'
}

console.log(Object.keys(persona));
console.log(Object.values(persona));
console.log(Object.entries(persona));

yo lo hice casi a todos de forma diferente

pero llegue al mismo resultado


let newArray=["Hola", "como andas", "me llamo lautaro"]

function imprimirTodosLosElementos(array){
    array.forEach(element => {
        console.log(element)    
    });
}
imprimirTodosLosElementos(newArray)


let micard= {
    marca : "audi",
    precio: 2000,
    color: "white"
}




function recorrerObject(obj){
    let array =Object.values(obj)
    array.forEach(element => {
        console.log(element)
    });
}

recorrerObject(micard)





function recorrerObject(obj){
    for(clave in obj){
        console.log(obj[clave])
    }
}

recorrerObject(micard)




Usando la funci贸n para leer los elementos de un array en la funci贸n para leer las propiedades de un objeto.

Qu茅 es un array?.

Un array es una estructura de datos que nos permite almacenar una lista de elementos. Estos elementos pueden ser de cualquier tipo, incluso otros arrays.

const array = [1, 2, 3, 4, 5];

Qu茅 es un objeto?.

Un objeto es una estructura de datos que nos permite almacenar una lista de pares clave-valor. Estos pares pueden ser de cualquier tipo, incluso otros objetos.

const objeto = {
  nombre: 'Ada',
  apellido: 'Lovelace',
  edad: 36,
  hobbies: ['programar', 'leer', 'escribir'],
  mascotas: [
    {
      nombre: 'Lady Ada',
      edad: 2,
      especie: 'perro',
    },
    {
      nombre: 'Grace Hopper',
      edad: 1,
      especie: 'gato',
    },
  ],
};

Cu谩ndo es mejor usar objetos o arrays?.

Depende de la situaci贸n. Si necesitamos almacenar una lista de elementos que no tienen una relaci贸n entre s铆, es mejor usar un array. Si necesitamos almacenar una lista de elementos que tienen una relaci贸n entre s铆, es mejor usar un objeto.

馃殌 Una cosita a corregir: en el ejercicio 2锔忊儯, imprimir el primer valor del array.

en el archivo tenemos:

function imprimirPrimerElementoArray(arr) {
    console.log(arr[1])
}

sin embargo, recordemos que el primer elemento se representa con un 0, por lo que deber铆amos escribir:

function imprimirPrimerElementoArray(arr) {
    console.log(arr[0])
}

Empezando con object.values

Yo cree un objeto que converti en una clase con su constructor, cree luego una funcion que recibe el objeto e imprime cada una de sus propiedades:

class Casa {
constructor(techo, piso, ventanas, garaje, mts2) {
this.techo = techo;
this.piso = piso;
this.ventanas = ventanas;
this.garaje = garaje;
this.mts2 = mts2;
}
}

var nuevaCasa = new Casa(鈥減latabanda鈥,鈥渃eramica鈥,鈥渕adera鈥,鈥渢echado鈥,150);
var nuevaCasa1 = new Casa(鈥淒os aguas鈥, 鈥減orcelanato鈥, 鈥渁lumnio鈥, 鈥渢echado鈥, 200);
var nuevaCasa2 = new Casa(鈥渕achiembrado鈥,鈥済ranito鈥,鈥渕adera鈥,鈥渢echado鈥,170);

function imprimirObjeto(casa){
console.log("Caracteristicas de la Casa: ");
console.log("Techo: " + casa.techo);
console.log("Piso: " + casa.piso);
console.log("Ventanas: " + casa.ventanas);
console.log("Garaje: " + casa.garaje);
console.log("Mts2: " + casa.mts2);
}

imprimirObjeto(nuevaCasa);

SOLUCION DE LOS 3 EJERCICIOS

///---------------------LISTAS------------------------------------///

//2锔忊儯 Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima su primer elemento.

let clientes1 = [ "Pedro", "Juan", "Rosa", "Luz", "Sergio"]


function inprimir(clientes1){

    alert(clientes1[0])


}

 inprimir(clientes1)




 
//3锔忊儯 Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).


let clientes = [ "Pedro", "Juan", "Rosa", "Luz", "Sergio"]


function inprimir(clientes){

    document.write(`${clientes} </br>` )
}


for (i= 0; i < clientes.length - 1; i++){

    inprimir(clientes[i])

}


inprimir(clientes[i])





//4锔忊儯 Crea una funci贸n que pueda recibir cualquier objeto como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).


//objeto 

let carro2 = {
   color: "rojo", 
    modelo:"logan",
     a帽o: 2023 , 
     lugar: "Bogot谩 D.C."} 


// funcion
function inprimir2(carro2){

    // iterar objeto con for in
    for( let propiedad in carro2 ){
        document.write(propiedad + ":  " + carro2[propiedad], "</br>") 
    
    
    
    }

}


inprimir2(carro2)





Utilizando un ciclo for se pueden obtener el resultado del ultimo ejercicio de forma simple.

const my = {
    name: 'Julian',
    lastname: 'Reales',
    age: 23,
}

function imprimirElementosDeUnObjeto(obj) {
    for (let i in obj) {
        console.log(obj[i]);
    }
    return null;
}

imprimirElementosDeUnObjeto(my);

Al usar el ciclo de esa manera, por cada iteraci贸n i sera igual a el valor de cada una de las keys del objeto, haci se puede usar para llamar el valor de cada una de las keys e imprimirlo por cada iteraci贸n.

function printAllObjectValues(object) {
	let array = Object.values(object)
	array.map(element => console.log(element))
}
const jugador = {
    dorsal: "10",
    nombre: "Juan",
    edad: 20,
    posicion: "Arquero"
}

function imprimir(jugador){
    const array = Object.values(jugador);
    for(let i = 0; i < array.length; i++){
        console.log(array[i])
    }
}

RETO 3: Crea una funci贸n que pueda recibir cualquier objeto como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

RETO 2: Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

RETO 1: Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima su primer elemento

Otra forma de imprimir el primer, segundo o el ultimo elemento de un array, es atraves de la funcion .at(),

const infoPersonal = [ "Diego", "Perez", "Perez", 19]

function imprimirPrimerElementoArray (arr) {
	console.log( arr.at(0) )
}
imprimirPrimerElementoArray (infoPersonal)   // "Diego"

Donde

arr.at(0) // "Diego"

representa la posici贸n inicial 0 de nuestro array.
Mientras que

arr.at(-1) // 19

, siempre representara la posici贸n final de nuestro array

Aqu铆 mi aporte:

var trabajadores =["Pedro","Juana","Carlos","Lesly"];

function tomarAsistencia(nombre){
    console.log(`Se tom贸 asistencia a: ${nombre}`);
}

for (var trabajador of trabajadores){
    tomarAsistencia(trabajador); 
}

Gracias por ense帽arnos tanto.
Algo que queria aportar (diganme si me equivoco) es que decir que un array es una lista puede confundir al llevarlo a otros lenguajes o en general en la programacion ya que en otros lados quieren decir dos cosas distintas.

Recorrer un arreglo y un objeto uno por uno.

var frutas = ["Fresa", "Manzana", "Pera"];
frutas.forEach(function (fruta){
    console.log(fruta);
});



var colores = {
    azul : "Cielo",
    morado : "Mora",
    rosa : "Lechon",
    blanco : "Meli"
}

for (var recorrer in colores){
    console.log(`${recorrer} : ${colores[recorrer]}`);

Arrays


1锔忊儯 Responde las siguientes preguntas en la secci贸n de comentarios:

  • Un array es una estructura de datos tipo objeto, parecido a una lista que guarda otros datos. Tanto la longitud como los elementos son variables dentro de un array.
  • Un objeto tanto en JS como en la vida real es una entidad que puede contener distintas propiedades y tipos.
  • Es preferible usar arrays cuando tenemos datos simples que almacenar como una lista de meses del a帽o, ya usar un objeto requiere que tenga otras propiedades como una serie de modelos de auto y el a帽o de fabricaci贸n.
  • Podemos tener objetos dentro de arrays
let articulos = [
{ nombre : "Bici", precio : 3000 },
{ nombre : "Ipad", precio : 9000 },
]
  • Y arrays dentro de objetos
let articulo = {precio : [3000, 2000, 900, 250]}

2锔忊儯 Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima su primer elemento.

let numbers = [1, 2, 3]

       function newFunction(numbers){
           console.log(numbers);
       }
       newFunction(0)

3锔忊儯 Crea una funci贸n que pueda recibir cualquier array como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

let numbers = [1, 2, 3]

numbers.forEach(function(elemento){
        console.log(elemento)
       })

4锔忊儯 Crea una funci贸n que pueda recibir cualquier objeto como par谩metro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function newFunction(objeto){
        Object.values(objeto).forEach((elemento) => {
            console.log(elemento);
          });
        };
        
        newFunction(alumno); 

Y para el ejercicio del Objeto, lo realic茅 de esta manera:

{
        let person = {
            name: 'Vero',
            lastName: 'Ezeta',
            age: 30,
            nickname: 'microbotas'
        };

        function lookIntoAnObject (obj) {
            let type = Object.prototype.toString.call(obj);
            
            if (type === '[object Object]') {

                for ( let [key, value] of Object.entries(obj)) {
                    console.log(`${key}: ${value}`);
                }

            } else {
                console.log(`Sorry, thats not a valid Object`);

            }
        }

        console.log(lookIntoAnObject(person));
    }

Para recorrer el arreglo, utilic茅 el m茅todo map():

let example = ['4', 1, 'rfrg', true, {name: 'Vero', last: 'Ezeta'}];
//Utilic茅 un arreglo para probar mi c贸digo

    function lookIntoAnArray(arr) {

        arr.map(item => {
            console.log(item);
        });
    }

    lookIntoAnArray(example);