
Nicolay Alexander Corrales Vargas
PreguntaHello, este es mi código logre que me creara los 6 carros, pero quisiera crear una variable única para cada carro, de forma que pueda llamar a uno por uno y no tenga que llamarlos a todos dentro del Loops, saben como podría? Gracias
var marcas = ["Mazda", "Toyota", "Mercedes", "Tesla", "Audi", "Jeep"]; var modelos = [2, "Corolla", "Sedan", "X", "Coupe", "Coupe"]; var annios = [2020, 2021, 2017, 2018, 2000,2022]; var qPuertass = [5, 6, 3, 2, 3, 2]; function auto(marca, modelo, anio, qPuertas){ //This is my global function this.marca = marca; this.modelo = modelo; this.anio = anio; this.qPuertas = qPuertas; } for (var n = 0; n < marcas.length; n++){ var autoNuevo = new auto(marcas[n], modelos[n], annios[n], qPuertass[n]); console.log(autoNuevo); }

Leonardo Rincon
Hola buenas noches, claro que si, mira: La function Auto es la constructora, y la funtion sedan hereda de ella sus atributos, pero anexando uno nuevo que le puse 'tipUnico'
ya en consola te sale:
No se si esto resuelve tu duda.
function Auto(marca, modelo, anio, qPuertas) { //This is my global function this.marca = marca; this.modelo = modelo; this.anio = anio; this.qPuertas = qPuertas; } function sedan(marca, modelo, anio, qPuertas, tipUnico) { this.super = Auto; this.super(marca, modelo, anio, qPuertas); // le digo a la fn que me herede estos parametros de fn Auto que es la constructora. this.tipUnico = tipUnico; } const auto1 = new Auto("Mazdad", "sedan", 2021, 4); // de la fn Auto const auto2 = new sedan("Toyota", "4x4", 2022, 5, "Edition Limitada"); console.log(auto1); console.log(auto2); // de la fn que hereda de fn Auto pero traer un atributo diferente al padre // for (let n = 0; n < marcas.length; n++) { // const autoNuevo = new auto(marcas[n], modelos[n], annios[n], qPuertass[n]); // console.log(autoNuevo); // }```

Leonardo Rincon
jajaja no me fije y tuve un error en escribir Mazda. puse mazdad jejej.

Nicolay Alexander Corrales Vargas
@jleobotache Muchas gracias bro creo que entendí lo que me explicas. Sin embargo, lo que quieres es que por ejemplo para el caso inicial, que me asignara una variable diferente para cada carro, con el objetivo que si quiero llamar auto1 me traiga lo de un carro o autoN me traiga lo de otro.
Es decir, que me asigne auto(X) a cada registro. Por que según entendí, en el ejemplo que me colocas me trae una nueva variable Sedan con la nueva función, y si quiero que me traiga los demás autos con otra variable, como hago o de pronto yo este equivocado?
console.log(auto1); //Me trajera: auto1 {marca:"Mazda", modelo:2, annio: 2020, qPuertas: 5} console.log(auto2); //Me trajera: auto1 {marca:"Toyota", modelo:"Corolla", annio: 2021, qPuertas: 6}

Leonardo Rincon
claro que se puede debes llamar el nuevo auto creando la instancia de la función constructora y pasando los argumentos que desees ponerle de manera independiente por ejempló:
const auto1 = new Auto("Mazda", "sedan", 2021, 4); const auto2 = new Auto("toyota", "Hilux", 2021, 4); const auto3 = new Auto("Ford", "Mustang", 2021, 4); const auto4 = new Auto("Kia", "Rio", 2021, 4); // todas son instancias de la función constructora que tu construiste solo que le asignas valores diferente a cada instancia que llamas, ya si lo quieres que sea automático simplemente tomas los array que construiste y los asignas a cada elemento y listo. Pero si quieres que un auto tenga algún atributo diferente a los demás debes crear una nueva función que herede de la principal lo necesario y añada el nuevo atributo. ```

Nicolay Alexander Corrales Vargas
mmm Ok, bro entonces es lo que voy a hacer. Muchas gracias por el apoyo.

Leonardo Rincon
Con gusto!