Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

159
Visualizações
Obtener No se pueden establecer propiedades de indefinido

Tengo la función CarFactory, que produce autos y debería cambiar el color de estos autos.

 const warehouse = require("./warehouse"); function CarFactory(power = 10) { this.warehouse = warehouse; this.produceCar = (color = "red", wheels = 4, engine = false) => { if (power < 2) { return null } else { let car = { "id": warehouse.nextIdentifier, "color": color, "wheels": wheels, "engine": engine } warehouse.createdCars.push(car); warehouse.nextIdentifier++; } } this.addEnergyPower = (value = 0) => { power += value; } this.changeCarColor = (num) => { if (power < 1) { return null } else { warehouse.createdCars[num].color = 'blue' } } } module.exports = CarFactory;

Pero recibo un error No se pueden establecer propiedades de indefinido (estableciendo 'color'). Si codifico 0 así para: createdCars[0], en realidad funciona para el auto indexado 0.

este es el archivo de almacén

 let warehouse = { createdCars: [], nextIdentifier: 0 }; module.exports = warehouse;

aquí es donde la broma intenta cambiar de color

 for (let i = 0; i < myFactory.warehouse.createdCars.length; i += 2) { let car = myFactory.warehouse.createdCars[i]; if (myFactory.changeCarColor(car) !== null) {} else { if (energyBoosts.length > 0) { myFactory.addEnergyPower(energyBoosts.shift()); i -= 2; } else { break } } }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Por lo que puedo decir en la línea if (myFactory.changeCarColor(car) !== null) {} else{ car would be { "id": warehouse.nextIdentifier, "color": color, "wheels": wheels, "engine": engine } pero lo que parece que querrías es el id. Así que cambie if (myFactory.changeCarColor(car) !== null) {} else{ a if (myFactory.changeCarColor(car.id) !== null) {} else{ y vea si eso funciona.

about 4 years ago · Juan Pablo Isaza Relatório

0

Tienes this.changeCarColor = (num) pero parece que quieres pasar un car a eso y luego obtener la identificación. No tengo idea de qué es esto, así que falla aquí: console.log(typeof energyBoosts); con "indefinido" para energyBoosts Pero esa es la PRÓXIMA pregunta, no la que nos ocupa.

 let warehouse = { createdCars: [], nextIdentifier: 0 }; function CarFactory(power = 10) { this.warehouse = warehouse; this.produceCar = (color = "red", wheels = 4, engine = false) => { // console.log("here"); if (power < 2) { return null; } else { let car = { "id": warehouse.nextIdentifier, "color": color, "wheels": wheels, "engine": engine }; warehouse.createdCars.push(car); warehouse.nextIdentifier++; } } this.addEnergyPower = (value = 0) => { power += value; } this.changeCarColor = (car) => { console.log(car.color, car.id, power); if (power < 1) { return null; } else { warehouse.createdCars[car.id].color = 'blue'; } } } let myFactory = new CarFactory(); //console.log(myFactory); for (let c = 0; c < 10; c++) { //console.log(c); myFactory.produceCar("red", 4, false); } //console.log("GO!", myFactory.warehouse); for (let i = 1; i < myFactory.warehouse.createdCars.length; i += 2) { //console.log(i); let car = myFactory.warehouse.createdCars[i]; console.log("Car:", car); if (myFactory.changeCarColor(car) == null) { console.log(typeof energyBoosts); if (energyBoosts.length > 0) { myFactory.addEnergyPower(energyBoosts.shift()); i -= 2; } else { break; } } }

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda