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

219
Visualizações
Javascript Constructor y agregar los resultados a una tabla en HTML

Soy relativamente nuevo en la codificación. Estoy intentando impulsar los resultados que obtengo de una función de generador aleatorio que habrá calculado los resultados de los números mínimo y máximo de clientes ingresados manualmente.

El problema con el que me he encontrado es que, aunque lo he hecho para que los resultados se introduzcan en las matrices vacías. Cuando registro en la consola, el objeto creado a partir del constructor. No se están enviando datos.

 const hour = ["6am","7am","8am","9am","10am","11am","12pm","1pm","2pm","3pm","4pm","5pm","6pm","7pm",]; //NOTE: Constructor function Location(city,minmax, averageConversionRate_cookieValue) { this.name = city; this.customerRange = [minmax[0], minmax[1]]; this.averageConversionRate_cookieValue = averageConversionRate_cookieValue; this.customerEachRange = []; this.cookiesSoldEachHour = []; this.totalDailyCookies = 0; } //NOTE: Prototype Location.prototype = { constructor: Location, estimatedCustomer_perHour: function() { for (let a = 0; a < hour.length; a++) { this.customersEachHour.push( random(this.customerRange[0], this.customerRange[1]) ); } }, cookiesPurchased_oneHour: function () { for (let a = 0; a < this.customersEachHour.length; a++) { this.cookiesSoldEachHour.push( Math.floor( this.customersEachHour[a] * this.averageConversionRate_cookieValue ) ); } }, changeCusRange: function (min, max) { return (this.customerRange = [min, max]); }, render() { this.estimatedCustomer_perHour(); this.cookiesPurchased_oneHour(); const unorderedList = document.getElementById("seattle"); for (let a = 0; a < this.customersEachHour.length; a++) { const listTable = document.createElement("tr"); listItem.textContent = `${hour[a]}: ${this.customersEachHour[a]} cookies`; unorderedList.appendChild(listItem); this.totalDailyCookies = this.totalDailyCookies + this.customersEachHour[a]; } const listTable = document.createElement("tr"); listTable.textContent = `Total: ${this.totalDailyCookies} cookies`; unorderedList.appendChild(listItem); }, } //NOTE: Random fn() function random(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } //NOTE: Object creation const seattle = new Location('Seattle', [23,65], 6.3); const tokyo = new Location('tokyo',[3,24],1.2); const dubai = new Location('dubai',[11,38],3.7); const paris = new Location('paris',[20,38],2.3); const lima = new Location('lima',[2,16],4.6) console.log(seattle)
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

He detectado numerosos problemas con su código... listItem y this.customersEachHour no están undefined . Ha codificado el valor seattle como una id en render (que ni siquiera llama). Creas un elemento <tr> por alguna razón pero nunca lo usas. Además, simplemente debe envolver todo esto en una class .

 const hour = ["6am","7am","8am","9am","10am","11am","12pm","1pm","2pm","3pm","4pm","5pm","6pm","7pm"]; function random(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } class Location { constructor(city, minmax, averageConversionRate_cookieValue) { this.name = city; this.list = document.getElementById(this.name); this.customerRange = [minmax[0], minmax[1]]; this.averageConversionRate_cookieValue = averageConversionRate_cookieValue; this.customersEachHour = []; this.cookiesSoldEachHour = []; this.totalDailyCookies = 0; this.render(); } estimatedCustomer_perHour() { for (let a = 0; a < hour.length; a++) { this.customersEachHour.push( random(this.customerRange[0], this.customerRange[1]) ); } } cookiesPurchased_oneHour() { for (let a = 0; a < this.customersEachHour.length; a++) { this.cookiesSoldEachHour.push( Math.floor( this.customersEachHour[a] * this.averageConversionRate_cookieValue ) ); } } changeCusRange(min, max) { return (this.customerRange = [min, max]); } render() { this.estimatedCustomer_perHour(); this.cookiesPurchased_oneHour(); for (let a = 0; a < this.customersEachHour.length; a++) { let item = document.createElement("li"); item.textContent = `${hour[a]}: ${this.customersEachHour[a]} cookies`; this.list.append(item); this.totalDailyCookies = this.totalDailyCookies + this.customersEachHour[a]; } let total = document.createElement("li"); total.textContent = `Total: ${this.totalDailyCookies} cookies`; this.list.append(total); } } const seattle = new Location('Seattle', [23,65], 6.3); console.log(seattle);
 <ul id="Seattle"></ul>

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